151216 Commits

Author SHA1 Message Date
Eric Beckmann
f16503af2b Fix bug in symbol generation for resource COFF
Symbols in the resource COFF file should be for .rsrc$02, where the
actual resource data is, not .rsrc$01, which contains the directory
tree.

Differential Revision: https://reviews.llvm.org/D34832

Patch by Joe Ranieri.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306853 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 18:16:35 +00:00
Zachary Turner
f330d3e627 [llvm-pdbutil] Add the ability to dump the dependency tree for a type
Previously we had the -type-index option which would dump the record of
a single, but we had no way to follow the dependency graph backwards and
also dump all dependent types.

Having this option makes test-writing better, because we can limit the
test to only those records that are of importance for the thing we're
trying to test, which allows us to use things like CHECK-NEXT to reduce
fragility.

Differential Revision: https://reviews.llvm.org/D34899

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306852 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 18:15:47 +00:00
Brian Gesiak
8e8ec784f8 [ORE] Unify spelling as "diagnostics hotness"
Summary:
To enable profile hotness information in diagnostics output, Clang takes
the option `-fdiagnostics-show-hotness` -- that's "diagnostics", with an
"s" at the end. Clang also defines `CodeGenOptions::DiagnosticsWithHotness`.

LLVM, on the other hand, defines
`LLVMContext::getDiagnosticHotnessRequested` -- that's "diagnostic", not
"diagnostics". It's a small difference, but it's confusing, typo-inducing, and
frustrating.

Add a new method with the spelling "diagnostics", and "deprecate" the
old spelling.

Reviewers: anemet, davidxl

Reviewed By: anemet

Subscribers: llvm-commits, mehdi_amini

Differential Revision: https://reviews.llvm.org/D34864

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306848 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 18:13:59 +00:00
Simon Pilgrim
eef7226d49 [X86][SSE] Pulled common variables to top of matchUnaryPermuteVectorShuffle. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306847 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 18:00:14 +00:00
Anna Thomas
f6b4a0347c [RuntimeUnrolling] Add logic for loops with multiple exit blocks
Summary:
Runtime unrolling is done for loops with a single exit block and a
single exiting block (and this exiting block should be the latch block).
This patch adds logic to support unrolling in the presence of multiple exit
blocks (which also means multiple exiting blocks).
Currently this is under an off-by-default option and is supported when
epilog code is generated. Support in presence of prolog code will be in
a future patch (we just need to add more tests, and update comments).

This patch is essentially an implementation patch. I have not added any
heuristic (in terms of branches added or code size) to decide when
this should be enabled.

Reviewers: mkuper, sanjoy, reames, evstupac

Reviewed by: reames

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D33001

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306846 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 17:57:07 +00:00
Juergen Ributzka
dc482f3f63 [DWARF] Don't include TestingSupport in LLVM_LINK_COMPONENTS.
This fixes a cmake configuration issue when LLVM is configured with no targets.
Instead we need to add TestingSupport directly with target_link_libraries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306842 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 16:50:51 +00:00
Jakub Kuderski
65bddf3b68 [Dominators] Do not perform expensive checks by default. Fix PR33656.
Summary:
Some transforms assume that DT.verifyDomInfo() is not expensive and call it even when ENABLE_EXPENSIVE_CHECKS is not set.
This patch disables expensive Dominator Tree verification (reachability, parent property, sibling property) to fix
[[ https://bugs.llvm.org/show_bug.cgi?id=33656 | PR33656 ]].

Note that this is only a temporary fix.

Reviewers: dberlin, chapuni, kparzysz, grosser

Reviewed By: dberlin

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D34894

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306839 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 16:33:04 +00:00
Zachary Turner
8956eb9794 Revert "[lit] Clean output directories before running tests."
This reverts commit da6318a92fba793e4f2447ec478b001392d57d43.

This is causing failures on some build bots due to what appears
to be some kind of lit ordering dependency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306833 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 16:05:03 +00:00
Zachary Turner
5a321ee929 [lit] Clean output directories before running tests.
Presently lit leaks files in the tests' output directories.
Specifically, if a test creates output files, lit makes no
effort to remove them prior to the next test run.  This is
problematic because it leads to false positives whenever a
test passes because stale  files were present.  In general
it is a source of flakiness that should be removed.

This patch addresses this by building the list of all test
directories that are part of the current run set, and then
deleting those directories and recreating them anew.  This
gives each test a clean baseline to start from.

Differential Revision: https://reviews.llvm.org/D34732

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306832 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 16:01:30 +00:00
Simon Dardis
333b6cb760 [MIPS] Handle PIC load address macro instructions in N64.
In particular, use CALL16 (similar to O32) for address loads into T9 for certain
cases.  Otherwise use a %got_disp relocation to load the address of a symbol.
Small offsets (small enough to fit in a 16-bit signed immediate) can be used and
are added to the symbol address after it is loaded from the GOT.  Larger offsets
are currently unsupported and result in an error from the assembler.

Reviewers: sdardis

Reviewed By: sdardis

Patch by: John Baldwin

Subscribers: llvm-commits, seanbruno, arichardson, emaste, dim

Differential Revision: https://reviews.llvm.org/D33948


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306831 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 15:44:27 +00:00
Alexey Bataev
adc0734b69 [SLP] A test for limiting vectorization of instructions, NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306828 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 14:37:32 +00:00
Teresa Johnson
ae8374b553 [LTO] Remove values from non-prevailing comdats
Summary:
When linking a regular LTO module, if it has any non-prevailing values
(dropped to available_externally) in comdats, we need to do more than
just remove those values from their comdat. We also remove all values
from that comdat, so as to avoid leaving an incomplete comdat.

This is necessary in case we are compiling in mixed regular and ThinLTO
mode, since the resulting regularLTO native object is always linked into
the final binary first. We need to prevent the linker from selecting an
incomplete comdat that was not the prevailing copy.

Fixes PR32980.

Reviewers: pcc, rafael

Subscribers: mehdi_amini, david2050, llvm-commits, inglorion

Differential Revision: https://reviews.llvm.org/D34803

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306826 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 14:03:24 +00:00
Simon Pilgrim
d7e9b74bb8 Remove unnecessary commented out argument. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306824 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 13:26:17 +00:00
Ulrich Weigand
31866f9f66 [SystemZ] Add missing high-word facility instructions
There are a few instructions provided by the high-word facility (z196)
that we cannot easily exploit for code generation.  This patch at least
adds those missing instructions for the assembler and disassembler.

This means that now all nonprivileged instructions up to z13 are
supported by the LLVM assembler / disassembler.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306821 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 12:56:29 +00:00
Nirav Dave
d1814a363f Revert "[DAG] Rewrite areNonVolatileConsecutiveLoads to use BaseIndexOffset"
This reverts commit r306819 which appears be exposing underlying
issues in a stage1 ppc64be build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306820 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 12:56:02 +00:00
Nirav Dave
8f57a78615 [DAG] Rewrite areNonVolatileConsecutiveLoads to use BaseIndexOffset
As discussed in D34087, rewrite areNonVolatileConsecutiveLoads using
generic checks. Also, propagate missing local handling from there to
BaseIndexOffset checks.

Tests of note:

  * test/CodeGen/X86/build-vector* - Improved.
  * test/CodeGen/BPF/undef.ll - Improved store alignment allows an
    additional store merge

  * test/CodeGen/X86/clear_upper_vector_element_bits.ll - This is a
    case we already do not handle well. Here, the DAG is improved, but
    scheduling causes a code size degradation.

Reviewers: RKSimon, craig.topper, spatel, andreadb, filcab

Subscribers: nemanjai, llvm-commits

Differential Revision: https://reviews.llvm.org/D34472

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306819 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 12:23:41 +00:00
NAKAMURA Takumi
c407e0824e CREDITS.TXT: Update myself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306818 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 11:59:53 +00:00
Simon Pilgrim
ec4d81d202 [X86] Updated 32-bit memcmp tests to run with/without SSE2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306816 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 11:23:59 +00:00
Nikolai Bozhenov
fd6c45d107 Revert of r306525: "Canonicalize clamp of float types to minmax"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306815 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 10:39:09 +00:00
George Rimar
940b9a117b [YAML] - Teach yaml2obj/obj2yaml to work with numeric relocation values.
That may be useful if we want to produce or parse object containing
broken relocation values using yaml2obj/obj2yaml.

Previously that was impossible because only enum values were parsed
correctly, this patch allows to put any numeric value as a
relocation type.

Differential revision: https://reviews.llvm.org/D34758

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306814 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 10:31:03 +00:00
George Rimar
b68c6ed9f1 [DWARF] - Simplify HandleExpectedError implementation in DWARFDebugInfoTest
Current implementation looks a bit confusing. It looks like it should
report/print something on error, but it does not do that.
It silently drops a error message when creating triple, though
this behavior is fine generally.

For example if LLVM configured with -DLLVM_TARGETS_TO_BUILD=ARM and
our host is windows, it is expected that we will be unable to
create "i386-pc-windows-msvc" target.

Patch introduces isConfigurationSupported() function that checks
if current configuration is supported for each test and returns early if not.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306812 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 10:09:01 +00:00
Ilya Biryukov
0cf8704795 Fixed misplaced table border in the docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306811 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 09:47:17 +00:00
Ilya Biryukov
83aa9ad2a3 Added Dockerfiles to build clang from sources.
Reviewers: klimek, chandlerc, mehdi_amini

Reviewed By: klimek, mehdi_amini

Subscribers: mehdi_amini, jlebar, llvm-commits

Differential Revision: https://reviews.llvm.org/D34197

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306810 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 09:46:45 +00:00
Hiroshi Inoue
7dab9bfe30 fix trivial typos, NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306808 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 09:11:50 +00:00
Kristof Beyls
e6f158fee4 [GlobalISel] Make multi-step legalization work.
In r301116, a custom lowering needed to be introduced to be able to
legalize 8 and 16-bit divisions on ARM targets without a division
instruction, since 2-step legalization (WidenScalar from 8 bit to 32
bit, then Libcall the 32-bit division) doesn't work.

This fixes this and makes this kind of multi-step legalization, where
first the size of the type needs to be changed and then some action is
needed that doesn't require changing the size of the type,
straighforward to specify.

Differential Revision: https://reviews.llvm.org/D32529



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306806 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 08:26:20 +00:00
Ayal Zaks
bfae62c2cb [LV] Optimize for size when vectorizing loops with tiny trip count
It may be detrimental to vectorize loops with very small trip count, as various
costs of the vectorized loop body as well as enclosing overheads including
runtime tests and scalar iterations may outweigh the gains of vectorizing. The
current cost model measures the cost of the vectorized loop body only, expecting
it will amortize other costs, and loops with known or expected very small trip
counts are not vectorized at all. This patch allows loops with very small trip
counts to be vectorized, but under OptForSize constraints, which ensure the cost
of the loop body is dominant, having no runtime guards nor scalar iterations.

Patch inspired by D32451.

Differential Revision: https://reviews.llvm.org/D34373


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306803 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 08:02:35 +00:00
Craig Topper
c9df51e6e9 [InstCombine] Add test cases to demonstrate failure to fold (a | b) ^ (~a | ~b) --> ~(a ^ b) and its commuted variants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306801 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 07:37:42 +00:00
Craig Topper
006e1f79e6 [InstCombine] In foldXorToXor, move the commutable matcher from the LHS match to the RHS match. No meaningful change intended.
There are two conditions ORed here with similar checks and each contain two matches that must be true for the if to succeed. With the commutable match on the first half of the OR then both ifs basically have the same first part and only the second part distinguishs. With this change we move the commutable match to second half and make the first half unique.

This caused some tests to change because we now produce a commuted result, but this shouldn't matter in practice.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306800 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 07:37:41 +00:00
Hiroshi Inoue
11496e7e16 fix trivial typo; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306798 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 07:17:53 +00:00
Chandler Carruth
cebf3467bc Remove the BBVectorize pass.
It served us well, helped kick-start much of the vectorization efforts
in LLVM, etc. Its time has come and past. Back in 2014:
http://lists.llvm.org/pipermail/llvm-dev/2014-November/079091.html

Time to actually let go and move forward. =]

I've updated the release notes both about the removal and the
deprecation of the corresponding C API.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306797 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 07:09:08 +00:00
Martin Storsjo
9f0e6a18bc [llvm-readobj] Improve printouts for COFF ARM64 binaries
Differential Revision: https://reviews.llvm.org/D34835

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306795 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 07:02:13 +00:00
Martin Storsjo
824ab5175a [llvm-readobj] Include the PE magic value in printouts
This is useful for a testcase in lld.

Differential Revision: https://reviews.llvm.org/D34836

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306794 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 07:02:04 +00:00
Daniel Jasper
ab8d3d1763 Revert "r306541 - Add zero-length check to memcpy/memset load store loop expansion"
Segfaults in non-optimized builds. I'll get a stack trace and a
reproducer to Teresa.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306793 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 06:37:33 +00:00
Daniel Jasper
ed1642feee Revert "r306473 - re-commit r306336: Enable vectorizer-maximize-bandwidth by default."
This still breaks PPC tests we have. I'll forward reproduction
instructions to dehao.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306792 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 06:32:21 +00:00
Eric Christopher
7fd563d283 Rewrite demangle memory handling.
The return of itaniumDemangle is allocated with malloc rather than new[]
and so using unique_ptr isn't called for here. As a note for the future
we should rewrite it to do this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306788 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 05:38:56 +00:00
Max Kazantsev
76aac8f1ce [SCEV] Use depth limit instead of local cache for SExt and ZExt
In rL300494 there was an attempt to deal with excessive compile time on
invocations of getSign/ZeroExtExpr using local caching. This approach only
helps if we request the same SCEV multiple times throughout recursion. But
in the bug PR33431 we see a case where we request different values all the time,
so caching does not help and the size of the cache grows enormously.

In this patch we remove the local cache for this methods and add the recursion
depth limit instead, as we do for arithmetics. This gives us a guarantee that the
invocation sequence is limited and reasonably short.

Differential Revision: https://reviews.llvm.org/D34273


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306785 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 05:04:09 +00:00
Vedant Kumar
461aeca073 Try to appease a buildbot.
The failure is:
C:\ps4-buildslave2\llvm-clang-x86_64-expensive-checks-win\llvm\unittests\ProfileData\CoverageMappingTest.cpp(244):
error C2668: 'llvm::make_unique': ambiguous call to overloaded function

http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/3489/

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306784 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 04:04:44 +00:00
Eric Christopher
3da8c4ff2d Reduce indenting and clean up comparisons around sign bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306781 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 01:57:48 +00:00
Eric Christopher
47b2ec11a1 Change the type of Undecorated to unique_ptr<char[]> since we're looking at a null terminated string and not a single character.
Fixes an error in tcmalloc sized delete checking.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306780 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 01:45:56 +00:00
Eric Christopher
f89749b21f Reduce the complexity of the signbit/branch test functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306779 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 01:35:31 +00:00
Jakub Kuderski
c9087d07bb [Dominators] Don't compute DFS InOut numbers eagerly.
Summary:
DFS InOut numbers currently get eagerly computer upon DomTree construction. They are only needed to answer dome dominance queries and they get invalidated by updates and recalculations. Because of that, it is faster in practice to compute them lazily when they are actually needed.

Clang built without this patch takes 6m 45s to boostrap on my machine, and with the patch applied 6m 38s.

Reviewers: sanjoy, dberlin, chandlerc

Reviewed By: dberlin

Subscribers: davide, llvm-commits

Differential Revision: https://reviews.llvm.org/D34296

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306778 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 01:28:21 +00:00
Eric Christopher
075dc44414 Add a C API section to the release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306777 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 01:17:45 +00:00
Vedant Kumar
16264149cd [Coverage] Remove two overloads of CoverageMapping::load. NFC.
These overloads are essentially dead, and pose a maintenance cost
without adding any benefit. This is coming up now because I'd like to
experiment with changing the way we store coverage mapping data, and
would rather not have to fix up the old overloads while doing so.

Testing: check-{llvm,profile}, build clang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306776 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 00:45:26 +00:00
Heejin Ahn
f21a6b7f6b [WebAssembly] Add support for exception handling instructions
Summary:
This adds backend support for throw, rethrow, try, and try_end instructions.
This needs the corresponding clang builtin support:
https://reviews.llvm.org/D34783
This follows the Wasm exception handling proposal in
https://github.com/WebAssembly/exception-handling/blob/master/proposals/Exceptions.md

Reviewers: sunfish, dschuff

Reviewed By: dschuff

Subscribers: jfb, sbc100, jgravelle-google

Differential Revision: https://reviews.llvm.org/D34826

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306774 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 00:43:15 +00:00
Wolfgang Pieb
ec3ac50fce [DWARF] Move a couple of member functions to the DWARFUnit baseclass. NFC.
Reviewer: dblaikie

Differential revision: https://reviews.llvm.org/D34765



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306771 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 00:27:45 +00:00
Eric Christopher
271565d7e6 Unified logic for computing target ABI in backend and front end by moving this common code to Support/TargetParser.
Modeled Triple::GNU after front end code (aapcs abi) and  updated tests that expect apcs abi.

Based heavily on a patch by Ana Pazos!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306768 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 00:03:54 +00:00
Aditya Nandakumar
3dd22a8dcc [GISel]: New Opcode G_FLOG/G_FLOG2
https://reviews.llvm.org/D34837

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306766 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-29 23:43:44 +00:00
Dehao Chen
ade8407c6e Hook the sample PGO machinery in the new PM
Summary: This patch hooks up SampleProfileLoaderPass with the new PM.

Reviewers: chandlerc, davidxl, davide, tejohnson

Reviewed By: chandlerc, tejohnson

Subscribers: tejohnson, llvm-commits, sanjoy

Differential Revision: https://reviews.llvm.org/D34720

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306763 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-29 23:33:05 +00:00
Eric Christopher
a633437a75 To help readability of mightUseCTR pull out the inline asm handling support into a function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306762 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-29 23:28:47 +00:00
Eric Christopher
e681ab2a88 Make the PPCCTRLoops pass depend on being able to access the TargetMachine and clean up accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306761 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-29 23:28:45 +00:00