FailedChanges

Summary

  1. [NFC] Add unittests for findAllocaForValue (details)
  2. [polly][cmake] Don't build LLVMPolly.so without PIC (details)
  3. [DSE,MemorySSA] Traverse use-def chain without MemSSA Walker. (details)
  4. [unittests/Object] - Simplify the code in ELFObjectFileTest.cpp, NFCI. (details)
  5. [ValueTracking] Support select in findAllocaForValue (details)
  6. [lldb] Fix gcc 5.4.0 compile error (details)
Commit 7f1bb326ee112c5bec897db2be016289f15a7778 by Vitaly Buka
[NFC] Add unittests for findAllocaForValue
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp (diff)
Commit 26d659bbe08028c0e04ddc3f4c698a995f41a131 by ro
[polly][cmake] Don't build LLVMPolly.so without PIC

A build on `sparcv9-sun-solaris2.11` with `-DLLVM_ENABLE_PIC=Off` failed
linking `LLVMPolly.so`:

  [2277/2297] Linking CXX shared module lib/LLVMPolly.so
  FAILED: lib/LLVMPolly.so
  [...]
  ld: fatal: relocation error: R_SPARC_H44: file tools/polly/lib/CMakeFiles/obj.Polly.dir/Analysis/DependenceInfo.cpp.o: symbol .data._ZL16__gthread_active (section): invalid shared object relocation type: ABS44 code model unsupported
  [...]

As on many other targets, one cannot link non-PIC objects into a shared
object on Solaris/sparcv9.

The following patch avoids this by not building the library without PIC.
It allowed the build to finish.

Differential Revision: https://reviews.llvm.org/D85627
The file was modifiedpolly/lib/CMakeLists.txt (diff)
The file was modifiedpolly/cmake/CMakeLists.txt (diff)
The file was modifiedpolly/CMakeLists.txt (diff)
Commit e717fdb0f155deaa03eaae891bd34743e6ffcb64 by flo
[DSE,MemorySSA] Traverse use-def chain without MemSSA Walker.

For DSE with MemorySSA it is beneficial to manually traverse the
defining access, instead of using a MemorySSA walker, so we can
better control the number of steps together with other limits and
also weed out invalid/unprofitable paths early on.

This patch requires a follow-up patch to be most effective, which I will
share soon after putting this patch up.

This temporarily XFAIL's the limit tests, because we now explore more
MemoryDefs that may not alias/clobber the killing def. This will be
improved/fixed by the follow-up patch.

This patch also renames some `Dom*` variables to `Earlier*`, because the
dominance relation is not really used/important here and potentially
confusing.

This patch allows us to aggressively cut down compile time, geomean
-O3 -0.64%, ReleaseThinLTO -1.65%, at the expense of fewer stores
removed. Subsequent patches will increase the number of removed stores
again, while keeping compile-time in check.

http://llvm-compile-time-tracker.com/compare.php?from=d8e3294118a8c5f3f97688a704d5a05b67646012&to=0a929b6978a068af8ddb02d0d4714a2843dd8ba9&stat=instructions

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D86486
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp (diff)
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/debug-counter.ll (diff)
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/memoryssa-scan-limit.ll (diff)
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-multipath.ll (diff)
Commit 154901c287c370ef7a2bbe57b034e60c25682bfe by grimar
[unittests/Object] - Simplify the code in ELFObjectFileTest.cpp, NFCI.

This refactors/rewrites the code to remove duplication.

Differential revision: https://reviews.llvm.org/D86623
The file was modifiedllvm/unittests/Object/ELFObjectFileTest.cpp (diff)
Commit 469debe0275b5800a2231ae670d235a83e6fbb27 by Vitaly Buka
[ValueTracking] Support select in findAllocaForValue
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp (diff)
Commit c1e6f1a7b1a8cb2bb11a76b904c6f8150bfcc3a6 by david.spickett
[lldb] Fix gcc 5.4.0 compile error

Specify type when constructing PromotionKeys,
this fixes error:
"chosen constructor is explicit in copy-initialization"
when compiling lldb with GCC 5.4.0.

This is due to std::tuple having an explicit
default constructor, see:
http://cplusplus.github.io/LWG/lwg-defects.html#2193

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D86690
The file was modifiedlldb/source/Utility/Scalar.cpp (diff)