add EP_OptimizerLast extension point
authorKostya Serebryany <kcc@google.com>
Fri, 23 Mar 2012 23:22:59 +0000 (23:22 +0000)
committerKostya Serebryany <kcc@google.com>
Fri, 23 Mar 2012 23:22:59 +0000 (23:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153353 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Transforms/IPO/PassManagerBuilder.h
lib/Transforms/IPO/PassManagerBuilder.cpp

index a1b4f5cd90bbd6e7437dd4ac7de788b8ff8c3efa..734f37e52eb0a7f486f38ba6317ab53e6876bda6 100644 (file)
@@ -73,6 +73,10 @@ public:
     /// cleanup-ish optimizations.
     EP_ScalarOptimizerLate,
 
+    /// EP_OptimizerLast -- This extension point allows adding passes that
+    /// run after everything else.
+    EP_OptimizerLast,
+
     /// EP_EnabledOnOptLevel0 - This extension point allows adding passes that
     /// should not be disabled by O0 optimization level. The passes will be
     /// inserted after the inlining pass.
index 84084374b34851fedb3b3be6f90d88880f9ed365..243ba1a85bf70d001f6381f2f8ca8cd241a83b7d 100644 (file)
@@ -202,6 +202,7 @@ void PassManagerBuilder::populateModulePassManager(PassManagerBase &MPM) {
     if (OptLevel > 1)
       MPM.add(createConstantMergePass());     // Merge dup global constants
   }
+  addExtensionsToPM(EP_OptimizerLast, MPM);
 }
 
 void PassManagerBuilder::populateLTOPassManager(PassManagerBase &PM,