1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/lib/Transforms
Peter Collingbourne 6a66a26be3 ThinLTOBitcodeWriter: Try harder to discard unused references to the merged module.
If the thin module has no references to an internal global in the
merged module, we need to make sure to preserve that property if the
global is a member of a comdat group, as otherwise promotion can end
up adding global symbols to the comdat, which is not allowed.

This situation can arise if the external global in the thin module
has dead constant users, which would cause use_empty() to return
false and would cause us to try to promote it. To prevent this from
happening, discard the dead constant users before asking whether a
global is empty.

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

llvm-svn: 319494
2017-11-30 23:05:52 +00:00
..
Coroutines [coro] Make Spill a proper struct instead of deriving from pair. 2017-10-31 19:22:55 +00:00
Hello
InstCombine [InstCombine] use 'auto' with 'dyn_cast'; NFC 2017-11-27 18:19:32 +00:00
Instrumentation [PGO] Skip counter promotion for infinite loops 2017-11-30 19:16:25 +00:00
IPO ThinLTOBitcodeWriter: Try harder to discard unused references to the merged module. 2017-11-30 23:05:52 +00:00
ObjCARC [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-10-27 01:09:08 +00:00
Scalar [memcpyopt] Teach memcpyopt to optimize across basic blocks 2017-11-30 22:10:53 +00:00
Utils EntryExitInstrumenter: set DebugLocs on the inserted call instructions (PR35412) 2017-11-28 18:44:26 +00:00
Vectorize Add MemorySSA as loop dependency, disabled by default [NFC]. 2017-11-21 15:45:46 +00:00
CMakeLists.txt
LLVMBuild.txt