[llvm-commits] [llvm] r164850 - /llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp

Evan Cheng evan.cheng at apple.com
Fri Sep 28 14:23:26 PDT 2012


Author: evancheng
Date: Fri Sep 28 16:23:26 2012
New Revision: 164850

URL: http://llvm.org/viewvc/llvm-project?rev=164850&view=rev
Log:
GlobalDCE should be run at -O2 / -Os to eliminate unused dtor, etc. rdar://9142819

Modified:
    llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp

Modified: llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp?rev=164850&r1=164849&r2=164850&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp Fri Sep 28 16:23:26 2012
@@ -211,13 +211,12 @@
     // 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);
 }





More information about the llvm-commits mailing list