[llvm-commits] [llvm] r125981 - /llvm/trunk/include/llvm/Support/StandardPasses.h

Chris Lattner sabre at nondot.org
Fri Feb 18 14:36:36 PST 2011


Author: lattner
Date: Fri Feb 18 16:36:36 2011
New Revision: 125981

URL: http://llvm.org/viewvc/llvm-project?rev=125981&view=rev
Log:
Now that -loop-idiom uses TargetLibraryInfo properly, it doesn't
need to be pulled out of the pass manager when the user specifies 
-fno-builtin.  It can intelligently determine which libcalls to
optimize based on what is enabled in TargetLibraryInfo.  This 
allows -fno-builtin-foo to work someday.

Modified:
    llvm/trunk/include/llvm/Support/StandardPasses.h

Modified: llvm/trunk/include/llvm/Support/StandardPasses.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/StandardPasses.h?rev=125981&r1=125980&r2=125981&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/StandardPasses.h (original)
+++ llvm/trunk/include/llvm/Support/StandardPasses.h Fri Feb 18 16:36:36 2011
@@ -67,7 +67,7 @@
                                                 bool OptimizeSize,
                                                 bool UnitAtATime,
                                                 bool UnrollLoops,
-                                                bool OptimizeBuiltins,
+                                                bool SimplifyLibCalls,
                                                 bool HaveExceptions,
                                                 Pass *InliningPass) {
     createStandardAliasAnalysisPasses(PM);
@@ -89,7 +89,7 @@
     
     // Start of CallGraph SCC passes.
     if (UnitAtATime && HaveExceptions)
-      PM->add(createPruneEHPass());           // Remove dead EH info
+      PM->add(createPruneEHPass());             // Remove dead EH info
     if (InliningPass)
       PM->add(InliningPass);
     if (UnitAtATime)
@@ -101,7 +101,7 @@
     // Break up aggregate allocas, using SSAUpdater.
     PM->add(createScalarReplAggregatesPass(-1, false));
     PM->add(createEarlyCSEPass());              // Catch trivial redundancies
-    if (OptimizeBuiltins)
+    if (SimplifyLibCalls)
       PM->add(createSimplifyLibCallsPass());    // Library Call Optimizations
     PM->add(createJumpThreadingPass());         // Thread jumps.
     PM->add(createCorrelatedValuePropagationPass()); // Propagate conditionals
@@ -116,8 +116,7 @@
     PM->add(createLoopUnswitchPass(OptimizeSize || OptimizationLevel < 3));
     PM->add(createInstructionCombiningPass());  
     PM->add(createIndVarSimplifyPass());        // Canonicalize indvars
-    if (OptimizeBuiltins)
-      PM->add(createLoopIdiomPass());           // Recognize idioms like memset.
+    PM->add(createLoopIdiomPass());             // Recognize idioms like memset.
     PM->add(createLoopDeletionPass());          // Delete dead loops
     if (UnrollLoops)
       PM->add(createLoopUnrollPass());          // Unroll small loops





More information about the llvm-commits mailing list