Reapply r150565 with the typo fix properly merged.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150567 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/Passes.cpp b/lib/CodeGen/Passes.cpp
index ec1f2b4..8fb9416 100644
--- a/lib/CodeGen/Passes.cpp
+++ b/lib/CodeGen/Passes.cpp
@@ -582,14 +582,8 @@
//
// 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) != &NoPassID)
+ printAndVerify("After StackSlotColoring");
}
//===---------------------------------------------------------------------===//
@@ -598,6 +592,10 @@
/// 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");