1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
llvm-mirror/lib/Transforms
Quentin Colombet 091258f7a2 [InstCombine] Revert r238452: Fold IntToPtr and PtrToInt into preceding loads.
According to git bisect, this is the root cause of a miscompile for Regex in
libLLVMSupport. I am still working on reducing a test case.
The actual bug may be elsewhere and this commit just exposed it.

Anyway, at the moment, to reproduce, follow these steps:
1. Build clang and libLTO in release mode.
2. Create a new build directory <stage2> and cd into it.
3. Use clang and libLTO from #1 to build llvm-extract in Release mode + asserts
   using -O2 -flto
4. Run llvm-extract  -ralias '.*bar' -S test/Other/extract-alias.ll

Result:
program doesn't contain global named '.*bar'!

Expected result:
@a0a0bar = alias void ()* @bar
@a0bar = alias void ()* @bar

declare void @bar()

Note: In step #3, if you don't use lto or asserts, the miscompile disappears.
llvm-svn: 259674
2016-02-03 18:04:13 +00:00
..
Hello Remove autoconf support 2016-01-26 21:29:08 +00:00
InstCombine [InstCombine] Revert r238452: Fold IntToPtr and PtrToInt into preceding loads. 2016-02-03 18:04:13 +00:00
Instrumentation [asan] Add iOS support to AddressSanitzier 2016-02-02 22:05:07 +00:00
IPO LowerBitSets: Don't bother to do any work if the llvm.bitset.test intrinsic is unused. 2016-02-03 03:48:46 +00:00
ObjCARC Add support for objc_unsafeClaimAutoreleasedReturnValue to the 2016-01-27 19:05:08 +00:00
Scalar [LoopVersioning] Expose loop versioning as a pass too 2016-02-03 00:06:10 +00:00
Utils Add #include "llvm/Support/raw_ostream.h" to fix Windows build. 2016-02-03 03:16:37 +00:00
Vectorize [SCEV] Try to reuse existing value during SCEV expansion 2016-02-03 17:05:12 +00:00
CMakeLists.txt
LLVMBuild.txt