Move PostRAMachineLICM into MachineLateOptimization. It now runs after PEI!
authorAndrew Trick <atrick@apple.com>
Wed, 15 Feb 2012 05:13:47 +0000 (05:13 +0000)
committerAndrew Trick <atrick@apple.com>
Wed, 15 Feb 2012 05:13:47 +0000 (05:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150565 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/Passes.cpp

index ec1f2b4c3b23d598ad5554660420c4d9db6d494c..977ecaa7ecee696f8373129887d50ed841033996 100644 (file)
@@ -582,14 +582,8 @@ void TargetPassConfig::addOptimizedRegAlloc(FunctionPass *RegAllocPass) {
   //
   // FIXME: Re-enable coloring with register when it's capable of adding
   // kill markers.
-  addPass(StackSlotColoringID);
-
-  // Run post-ra machine LICM to hoist reloads / remats.
-  //
-  // FIXME: can this move into MachineLateOptimization?
-  addPass(PostRAMachineLICMID);
-
-  printAndVerify("After StackSlotColoring and postra Machine LICM");
+  if (addPass(StackSlotColoringID) != &NoPaddID)
+    printAndVerify("After StackSlotColoring");
 }
 
 //===---------------------------------------------------------------------===//
@@ -598,6 +592,10 @@ void TargetPassConfig::addOptimizedRegAlloc(FunctionPass *RegAllocPass) {
 
 /// Add passes that optimize machine instructions after register allocation.
 void TargetPassConfig::addMachineLateOptimization() {
+  // Run post-ra machine LICM to hoist reloads / remats.
+  if (addPass(PostRAMachineLICMID) != &NoPassID)
+    printAndVerify("After postra Machine LICM");
+
   // Branch folding must be run after regalloc and prolog/epilog insertion.
   if (addPass(BranchFolderPassID) != &NoPassID)
     printNoVerify("After BranchFolding");