summaryrefslogtreecommitdiff
path: root/lib/Transforms/IPO
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2012-09-28 21:23:26 +0000
committerEvan Cheng <evan.cheng@apple.com>2012-09-28 21:23:26 +0000
commitf5fdc14df9914969bf56315cd3be8a3b3822a22e (patch)
tree47ada840a05e6ebbf6ecc20c2514d4ea17da3a4a /lib/Transforms/IPO
parent21731d876c337a14d30c9b35e21141cc6fcf2e18 (diff)
downloadllvm-f5fdc14df9914969bf56315cd3be8a3b3822a22e.tar.gz
llvm-f5fdc14df9914969bf56315cd3be8a3b3822a22e.tar.bz2
llvm-f5fdc14df9914969bf56315cd3be8a3b3822a22e.tar.xz
GlobalDCE should be run at -O2 / -Os to eliminate unused dtor, etc. rdar://9142819
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164850 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/IPO')
-rw-r--r--lib/Transforms/IPO/PassManagerBuilder.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/Transforms/IPO/PassManagerBuilder.cpp b/lib/Transforms/IPO/PassManagerBuilder.cpp
index c81b333813..9e328b9ac9 100644
--- a/lib/Transforms/IPO/PassManagerBuilder.cpp
+++ b/lib/Transforms/IPO/PassManagerBuilder.cpp
@@ -211,13 +211,12 @@ void PassManagerBuilder::populateModulePassManager(PassManagerBase &MPM) {
// FIXME: We shouldn't bother with this anymore.
MPM.add(createStripDeadPrototypesPass()); // Get rid of dead prototypes
- // GlobalOpt already deletes dead functions and globals, at -O3 try a
+ // GlobalOpt already deletes dead functions and globals, at -O2 try a
// late pass of GlobalDCE. It is capable of deleting dead cycles.
- if (OptLevel > 2)
+ if (OptLevel > 1) {
MPM.add(createGlobalDCEPass()); // Remove dead fns and globals.
-
- if (OptLevel > 1)
MPM.add(createConstantMergePass()); // Merge dup global constants
+ }
}
addExtensionsToPM(EP_OptimizerLast, MPM);
}