summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorTeresa Johnson <tejohnson@google.com>2015-06-10 17:49:28 +0000
committerTeresa Johnson <tejohnson@google.com>2015-06-10 17:49:28 +0000
commit232fa9af3b127a95d017e9cd4d764898d19916b2 (patch)
tree5844c8461ec09851b8762a45a64906471a6d9243 /clang/lib/Frontend/CompilerInvocation.cpp
parent89645dfa4d2d2d422cdecad1f6f6f65016b77062 (diff)
downloadbcm5719-llvm-232fa9af3b127a95d017e9cd4d764898d19916b2.tar.gz
bcm5719-llvm-232fa9af3b127a95d017e9cd4d764898d19916b2.zip
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
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud