143792 Commits

Author SHA1 Message Date
Benjamin Kramer
84d682db0f Fix some broken CHECK lines.
The colon is important.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292761 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 20:28:56 +00:00
Saleem Abdulrasool
4133d85d33 llvm-cxxfilt: support -_
Add the `--strip-underscore` option to llvm-cxxfilt to strip the leading
underscore.  This is useful for when dealing with targets which add a
leading underscore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292759 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 17:41:10 +00:00
Sanjay Patel
873d460b05 [x86] avoid crashing with illegal vector type (PR31672)
https://llvm.org/bugs/show_bug.cgi?id=31672


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292758 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 17:06:12 +00:00
Chandler Carruth
4eca311419 [PM] Fix a really nasty bug introduced when adding PGO support to the
new PM's inliner.

The bug happens when we refine an SCC after having computed a proxy for
the FunctionAnalysisManager, and then proceed to compute fresh analyses
for functions in the *new* SCC using the manager provided by the old
SCC's proxy. *And* when we manage to mutate a function in this new SCC
in a way that invalidates those analyses. This can be... challenging to
reproduce.

I've managed to contrive a set of functions that trigger this and added
a test case, but it is a bit brittle. I've directly checked that the
passes run in the expected ways to help avoid the test just becoming
silently irrelevant.

This gets the new PM back to passing the LLVM test suite after the PGO
improvements landed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292757 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 10:34:01 +00:00
Chandler Carruth
36a10eedff [PM] Add some debug logging to the new PM inliner to make it easier to
trace its behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292756 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 10:33:58 +00:00
Chandler Carruth
71ffb16af6 [PM] Improve the debug logging to always include the IR unit's name when
logging pass and analyses information.

This is particularly useful when filtering the debug log for
a particular function or loop where something got inappropriately
cached.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292755 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 10:33:54 +00:00
Craig Topper
112dbbc59b [IR] Add LLVM_READONLY to BasicBlock::getTerminator.
I noticed that this function got called twice in compiled code to create succ_begin and succ_end iterators. Adding this directive helps the compiler share the call.

Ideally we'd just make this method available for inlining since its quite simple, but the current header file arrangements don't allow that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292754 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 06:53:07 +00:00
Craig Topper
f931f143cb [IR] Use const_cast to reuse the const version of two BasicBlock methods that are duplicated for both const and non-const. NFC
Similar is already done for other methods in BasicBlock.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292753 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 06:53:04 +00:00
Sean Silva
80b90fe5c1 [docs] Point to upstream Sphinx install instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292752 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 03:47:49 +00:00
Marcos Pividori
7728ff0f87 [libFuzzer] Specify the CRT considered (MT or MD) for tests on Windows.
Differential Revision: https://reviews.llvm.org/D28439

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292749 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 02:28:12 +00:00
Marcos Pividori
2858ad7ec2 [libFuzzer] Fix test with shared libraries on Windows.
We need to set BINARY_DIR to: ${CMAKE_BINARY_DIR}/lib/Fuzzer/test , so the dll
is placed in the same directory than the test LLVMFuzzer-DSOTest, and is found
when executing that test.
As we are using CMAKE_CXX_CREATE_SHARED_LIBRARY to link the dll, we can't modify
the output directory for the import library. It will be created in the same
directory than the dll (in BINARY_DIR), no matter which value we set to
LIBRARY_DIR. So, if we set LIBRARY_DIR to a different directory than BINARY_DIR,
when linking LLVMFuzzer-DSOTest, cmake will look for the import library
LLVMFuzzer-DSO1.lib in LIBRARY_DIR, and won't find it, since it was created in
BINARY_DIR. So, for Windows, we need that LIBRARY_DIR and BINARY_DIR are the
same directory.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292748 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 02:28:08 +00:00
Marcos Pividori
61d2c04941 [libFuzzer] AlrmHandler is executed in a different thread for Windows.
Don't check for InFuzzingThread() on Windows, since the AlarmHandler() is
always executed by a different thread from a thread pool.
If we don't add these changes, the alarm handler will never execute.
Note that we decided to ignore possible problem in the synchronization.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292746 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 01:58:59 +00:00
Marcos Pividori
9c2ee32cbf [libFuzzer] Leak Sanitizer is not supported for Windows.
Differential Revision: https://reviews.llvm.org/D28709

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292745 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 01:58:55 +00:00
Marcos Pividori
44ad5c2d2c [libFuzzer] Fix OutOfMemory tests to work on 32 bits.
I add 2 changes to make the tests work on 32 bits and on 64 bits.
I change the size allocated to 0x20000000 and add the flag: -rss_limit_mb=300.
Otherwise the output for 32 bits and 64 bits is different.
For 64 bits the value 0xff000000 doesn't exceed kMaxAllowedMallocSize.
For 32 bits, kMaxAllowedMallocSize is set to 0xc0000000, so the call to
Allocate() will fail earlier printing "WARNING: AddressSanitizer failed to
allocate ..." , and wont't call malloc hooks.
So, we need to consider a size smaller than 2GB (so malloc doesn't fail on
32bits) and greater that the value provided by -rss_limit_mb.
Because of that I use: 0x20000000.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292744 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 01:58:50 +00:00
Marcos Pividori
ed3dca071a [libFuzzer] Avoid undefined behavior, properly discard output to stdout/stderr.
Fix libFuzzer when setting -close_fd_mask to a non-zero value.
In previous implementation, libFuzzer closes the file descriptors for
stdout/stderr. This has some disavantages:

For `fuzzer-fdmask.test`, we write directly to stdout and stderr using the
file streams stdout and stderr, after the file descriptors are closed, which is
undefined behavior. In Windows, in particular, this was making the test fail.

Also, if we close stdout and we open a new file in libFuzzer, we get the file
descriptor 1, which could generate problem if some code assumes file descriptors
refers to stdout and works directly writing to the file descriptor 1, but it
will be writing to the opened file (for example using std::cout).

Instead of closing the file descriptors, I redirect the output to /dev/null on
linux and nul on Windows.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292743 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 01:58:45 +00:00
Marcos Pividori
3bd9b31212 [libFuzzer] Remove lib prefix from library names on tests.
This changes is necessary on Windows, where libraries doesn't include the prefix
"lib".

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292742 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 01:58:40 +00:00
Marcos Pividori
6820da1473 [libFuzzer] Fix ListFilesInDirRecursive() to do the same for Posix and Windows.
Update `ListFilesInDirRecursive` implementation on Windows to have the same
behavior than for Posix, when the directory doesn't exists and when it is empty.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292741 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 01:58:36 +00:00
Marcos Pividori
8f08df7ee1 [libFuzzer] Consider both possible separators for tests.
Differential Revision: https://reviews.llvm.org/D28636

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292740 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 01:58:31 +00:00
Marcos Pividori
55c19060a6 [libFuzzer] Portably disassemble and find calls to sanitizer_cov_trace_pc_guard.
Instead of directly using objdump, which is not present on Windows, we consider
different tools depending on the platform.
For Windows, we consider dumpbin and llvm-objdump.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292739 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 01:58:26 +00:00
Marcos Pividori
8b351cd95a [libFuzzer] Portable implementation of IsInterestingCoverageFile().
For Posix systems and Windows, we need to consider different cases.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292738 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 01:27:47 +00:00
Marcos Pividori
d2146889b5 [libFuzzer] Remove optimization flags for tests.
We need to build all the tests with -O0, otherwise optimizations may merge some
basic blocks and the tests will fail.
In this diff, I simplify the cmake implementation and I remove the flags for
Windows too (/O[123s]).

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292737 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 01:27:42 +00:00
Marcos Pividori
6c13258b28 [libFuzzer] Expose Sanitizer Coverage functions from libFuzzer.
We need to expose Sanitizer Coverage's functions that are rewritten with a
different implementation, so compiler-rt's libraries have access to it.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292736 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 01:27:38 +00:00
Marcos Pividori
4509e88ac3 [libFuzzer] Remove dependencies for tests on Windows.
Remove dependency on FileCheck, sancov and not for tests on Windows.
If LLVM_USE_SANITIZER=Address and LLVM_USE_SANITIZE_COVERAGE=YES, this will
trigger the building of dependencies with sanitizer instrumentation.
This will fail in Windows, since cmake will use link.exe for linking and won't
include compiler-rt libraries.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292735 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 01:27:34 +00:00
Marcos Pividori
bcc6b36ead [libFuzzer] Disable afl tests for Windows.
On Windows, we don't have interoperability between libFuzzer and afl.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292734 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-22 01:26:18 +00:00
Piotr Padlewski
9228080c77 [MemorySSA] Remove deprecated comment from test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292733 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 22:14:02 +00:00
Piotr Padlewski
1fbffa18ae [MemorySSA] Fix invariant.group test and add new
Summary:
This test had a bug: !llvm.invariant.group instead
of !invariant.group.

Also add some new test for future development.
All tests passes, when MSSA will support invariant.group
only the lines with FIXIT should be changed.

Reviewers: dberlin, george.burgess.iv

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292730 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 21:56:56 +00:00
Sanjay Patel
1493913c79 [InstCombine] use m_APInt to allow ashr folds for vectors with splat constants
We may be able to assert that no shl-shl or lshr-lshr pairs ever get here
because we should have already handled those in foldShiftedShift().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292726 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 17:59:59 +00:00
Sanjay Patel
248067085e [ValueTracking] tighten up matchMinMax(); NFCI
This is similar to what the caller (matchSelectPattern()) does. In all
cases where we succeed in matching a min/max pattern, the values in
that pattern will be the values of the 'select', so hoist that and
remove a bunch of duplicated code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292725 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 17:51:25 +00:00
Sanjay Patel
54739f0087 [InstCombine] add tests for ashr-ashr; NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292724 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 17:43:06 +00:00
Lang Hames
a5d7e7c789 [Orc][RPC] Add 'removeHandler' and 'clearHandlers' methods to RPC endpoints.
This can be used to free handler resources for handlers that won't be called
again.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292714 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 07:46:03 +00:00
Craig Topper
932a081385 [X86] Don't allow commuting to form phsub operations.
Fixes PR31714.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292713 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 06:59:38 +00:00
Craig Topper
0543f08cfe [X86] Add test cases that show bad commuting being allowed to create a phsub operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292712 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 06:59:35 +00:00
Mehdi Amini
0e3e2abd4f Add missing dependency to "Module Summary Analysis" pass
This is fixing a clang crash when running `clang -flto=thin -save-temps`

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292711 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 06:01:22 +00:00
Chandler Carruth
01b9f81cd4 [PM] Sink an LCSSA preservation assert from the LoopSimplify pass into
the library routine shared with the new PM and other code.

This assert checks that when LCSSA preservation is requested we start in
LCSSA form. Without this early assert, given *very* complex test cases
we can hit an assert or crash much later on when trying to preserve
LCSSA.

The new PM's loop simplify doesn't need to (and indeed can't) preserve
LCSSA as the new PM doesn't deal in transforms in the dependency graph.
But we asked the library to and shockingly, this didn't work very well!
Stop doing that. Now the assert will tell us immediately with existing
test cases. Before this, it took a pretty convoluted input to trigger
this.

However, sinking the assert also found a bug in LoopUnroll where we
asked simplifyLoop to preserve LCSSA *right before we reform it*. That's
kinda silly and unsurprising that it wasn't available. =D Stop doing
that too.

We also would assert that the unrolled loop was in LCSSA even if
preserving LCSSA was never requested! I don't have a test case or
anything here. I spotted it by inspection and it seems quite obvious. No
logic change anyways, that's just avoiding a spurrious assert.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292710 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 04:16:53 +00:00
Chandler Carruth
3710416022 [PM] Teach the loop PM to run LoopSimplify prior to the loop pipeline.
This adds the last remaining core feature of the loop pass pipeline in
the new PM and removes the last of the really egregious hacks in the
LICM tests.

Sadly, this requires really substantial changes in the unittests in
order to provide and maintain simplified loops. This is particularly
hard because for example LoopSimplify will try to fold undef branches to
an ideal direction and simplify the loop accordingly.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292709 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 03:48:51 +00:00
Saleem Abdulrasool
4c5684d092 llvm-strings: remove default for -Wcovered-switch-default
Fix the -Werror build by removing the unnecessary default case in the
covered switch.  NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292708 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 02:52:29 +00:00
Saleem Abdulrasool
6d72920b21 llvm-strings: add support for -t
Allow printing the file content offset via the `-t` or `--radix` option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292707 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 02:36:28 +00:00
Saleem Abdulrasool
5e8f18007b llvm-cxxfilt: support the -s option
This is a stub implementation of the `-s` or `--format` option that
allows the user to specify the demangling style.  Since we only support
the Itanium (GNU) style demangling, auto is synonymous with `gnu`.
Simply swallow the option to permit some level of commandline
compatibility.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292706 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 02:36:26 +00:00
Matthias Braun
5fe20f64f3 LiveRegUnits: Add accumulateBackward() function
Re-Commit r292543 with a fix for the situation when the chain end is
MBB.end().

This function can be used to accumulate the set of all read and modified
register in a sequence of instructions.

Use this code in AArch64A57FPLoadBalancing::scavengeRegister() to prove
the concept.

- The AArch64A57LoadBalancing code is using a backwards analysis now
  which is irrespective of kill flags. This is the main motivation for
  this change.

Differential Revision: http://reviews.llvm.org/D22082

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292705 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 02:21:04 +00:00
Xin Tong
4f4c80c1df Fix Grammar. NFCI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292704 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 02:11:40 +00:00
Michael Kuperstein
e24f706682 [SLP] Make ReductionOpcode have the right (enum) type. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292703 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 02:03:03 +00:00
Anmol P. Paralkar
5f4797bc2e MergeFunctions: Preserve debug info in thunks, under option -mergefunc-preserve-debug-info
Summary:
Under option -mergefunc-preserve-debug-info we:
- Do not create a new function for a thunk.
- Retain the debug info for a thunk's parameters (and associated
  instructions for the debug info) from the entry block.
  Note: -debug will display the algorithm at work.
- Create debug-info for the call (to the shared implementation) made by
  a thunk and its return value.
- Erase the rest of the function, retaining the (minimally sized) entry
  block to create a thunk.
- Preserve a thunk's call site to point to the thunk even when both occur
  within the same translation unit, to aid debugability. Note that this
  behaviour differs from the underlying -mergefunc implementation which
  modifies the thunk's call site to point to the shared implementation
  when both occur within the same translation unit.

Reviewers: echristo, eeckstein, dblaikie, aprantl, friss

Reviewed By: aprantl

Subscribers: davide, fhahn, jfb, mehdi_amini, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292702 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 02:02:56 +00:00
Justin Lebar
f103cf3473 [ConstantFold] Remove test checking that we don't constant-fold sqrt(-2).
This depended on libm's errno behavior (we constant fold iff libm's
sqrt(-2) does not set errno) and was breaking on mac.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292701 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 02:02:27 +00:00
Peter Collingbourne
9221d610b3 LowerTypeTests: Fix use-after-free. Found by asan/msan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292700 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 01:57:44 +00:00
Eugene Zelenko
82405c4c8f [AMDGPU] Fix build broken in r292688.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292699 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 01:34:25 +00:00
Michael Kuperstein
f2617951e8 [SLP] Delete useless helper. NFC.
The helper contained a branch for a special case that is unnecessary,
and a cast.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292698 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 01:33:25 +00:00
Vitaly Buka
fcd9eea31b [libFuzzer] Use CXX to set compiler to use
Reviewers: kcc

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292697 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 01:21:56 +00:00
Kostya Serebryany
3a0d592eba [libFuzzer] fix gcc build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292695 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 01:08:22 +00:00
Justin Lebar
e5aefeb9b8 [NVPTX] Auto-upgrade some NVPTX intrinsics to LLVM target-generic code.
Summary:
Specifically, we upgrade llvm.nvvm.:

 * brev{32,64}
 * clz.{i,ll}
 * popc.{i,ll}
 * abs.{i,ll}
 * {min,max}.{i,ll,u,ull}
 * h2f

These either map directly to an existing LLVM target-generic
intrinsic or map to a simple LLVM target-generic idiom.

In all cases, we check that the code we generate is lowered to PTX as we
expect.

These builtins don't need to be backfilled in clang: They're not
accessible to user code from nvcc.

Reviewers: tra

Subscribers: majnemer, cfe-commits, llvm-commits, jholewinski

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292694 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 01:00:32 +00:00
Justin Lebar
e1e85941e9 [NVPTX] Move getDivF32Level, usePrecSqrtF32, and useF32FTZ into out of DAGToDAG and into TargetLowering.
Summary:
DADToDAG has access to TargetLowering, but not vice versa, so this is
the more general location for these functions.

NFC

Reviewers: tra

Subscribers: jholewinski, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292693 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 01:00:14 +00:00