Added RegisterCoalescer to required passes for PBQP.
[oota-llvm.git] / lib / CodeGen / StackSlotColoring.cpp
index 0d9ebbbeb80114f536feb2d14ceaa4b27ffe4499..e491c285ff2e575d7e20a0010fbf804b13da99a0 100644 (file)
@@ -97,6 +97,7 @@ namespace {
       MachineFunctionPass(&ID), ColorWithRegs(RegColor), NextColor(-1) {}
     
     virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+      AU.setPreservesCFG();
       AU.addRequired<LiveStacks>();
       AU.addRequired<VirtRegMap>();
       AU.addPreserved<VirtRegMap>();      
@@ -512,7 +513,7 @@ bool StackSlotColoring::PropagateBackward(MachineBasicBlock::iterator MII,
             TID.getOpcode() == TargetInstrInfo::SUBREG_TO_REG)
           return false;
 
-        const TargetRegisterClass *RC = getInstrOperandRegClass(TRI, TID, i);
+        const TargetRegisterClass *RC = TID.OpInfo[i].getRegClass(TRI);
         if (RC && !RC->contains(NewReg))
           return false;
 
@@ -576,7 +577,7 @@ bool StackSlotColoring::PropagateForward(MachineBasicBlock::iterator MII,
             TID.getOpcode() == TargetInstrInfo::EXTRACT_SUBREG)
           return false;
 
-        const TargetRegisterClass *RC = getInstrOperandRegClass(TRI, TID, i);
+        const TargetRegisterClass *RC = TID.OpInfo[i].getRegClass(TRI);
         if (RC && !RC->contains(NewReg))
           return false;
         FoundUse = true;