diff options
-rw-r--r-- | lib/CodeGen/StrongPHIElimination.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/CodeGen/StrongPHIElimination.cpp b/lib/CodeGen/StrongPHIElimination.cpp index 97e4fb9b6e..449ef38a3a 100644 --- a/lib/CodeGen/StrongPHIElimination.cpp +++ b/lib/CodeGen/StrongPHIElimination.cpp @@ -27,6 +27,7 @@ #include "llvm/CodeGen/MachineInstr.h" #include "llvm/CodeGen/MachineLoopInfo.h" #include "llvm/CodeGen/MachineRegisterInfo.h" +#include "llvm/CodeGen/RegisterCoalescer.h" #include "llvm/Target/TargetInstrInfo.h" #include "llvm/Target/TargetMachine.h" #include "llvm/ADT/DepthFirstIterator.h" @@ -34,7 +35,6 @@ #include "llvm/Support/Compiler.h" using namespace llvm; - namespace { struct VISIBILITY_HIDDEN StrongPHIElimination : public MachineFunctionPass { static char ID; // Pass identification, replacement for typeid @@ -74,6 +74,7 @@ namespace { // TODO: Actually make this true. AU.addPreserved<LiveIntervals>(); + AU.addPreserved<RegisterCoalescer>(); MachineFunctionPass::getAnalysisUsage(AU); } @@ -921,5 +922,7 @@ bool StrongPHIElimination::runOnMachineFunction(MachineFunction &Fn) { PInstr->eraseFromParent(); } + LI.computeNumbering(); + return true; } |