1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/include/llvm/Transforms
Teresa Johnson 3b11c8e6e3 Add new EliminateAvailableExternally module pass, which is performed in
O2 compiles just before GlobalDCE, unless we are preparing for LTO.

This pass eliminates available externally globals (turning them into
declarations), regardless of whether they are dead/unreferenced, since
we are guaranteed to have a copy available elsewhere at link time.
This enables additional opportunities for GlobalDCE.

If we are preparing for LTO (e.g. a -flto -c compile), the pass is not
included as we want to preserve available externally functions for possible
link time inlining. The FE indicates whether we are doing an -flto compile
via the new PrepareForLTO flag on the PassManagerBuilder.

llvm-svn: 239480
2015-06-10 17:49:28 +00:00
..
InstCombine Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
IPO Add new EliminateAvailableExternally module pass, which is performed in 2015-06-10 17:49:28 +00:00
Scalar [PM] Clean up a stale comment that came from a differnt pass when 2015-02-01 11:35:56 +00:00
Utils Extend EarlyCSE to handle basic cases from JumpThreading and CVP 2015-05-22 23:53:24 +00:00
Instrumentation.h Delete unused createSanitizerCoverageModulePass overload. 2015-05-07 22:46:06 +00:00
IPO.h Add new EliminateAvailableExternally module pass, which is performed in 2015-06-10 17:49:28 +00:00
ObjCARC.h Reformat linefeeds. 2014-05-26 00:25:26 +00:00
Scalar.h [ARM] Pass a callback to FunctionPass constructors to enable skipping execution 2015-06-08 18:50:43 +00:00
Vectorize.h Allow vectorization of bit intrinsics in BB Vectorizer. 2014-04-25 03:33:48 +00:00