X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FCodeGen%2FMachineCombiner.cpp;h=aeb864efa340243c59c5528308894c7f634bbf36;hb=56c15de38a1c43bc0fcfb19fa655d68af3479d7d;hp=9ec7239b098a21b36f556a345d87195c56b62438;hpb=335c0ca2c667cb6c7bdf35c4286862fbf1f46142;p=oota-llvm.git diff --git a/lib/CodeGen/MachineCombiner.cpp b/lib/CodeGen/MachineCombiner.cpp index 9ec7239b098..aeb864efa34 100644 --- a/lib/CodeGen/MachineCombiner.cpp +++ b/lib/CodeGen/MachineCombiner.cpp @@ -273,7 +273,9 @@ bool MachineCombiner::preservesResourceLen( // Compute current resource length - ArrayRef MBBarr(MBB); + //ArrayRef MBBarr(MBB); + SmallVector MBBarr; + MBBarr.push_back(MBB); unsigned ResLenBeforeCombine = BlockTrace.getResourceLength(MBBarr); // Deal with SC rather than Instructions. @@ -378,7 +380,7 @@ bool MachineCombiner::combineInstructions(MachineBasicBlock *MBB) { MBB->insert((MachineBasicBlock::iterator) & MI, (MachineInstr *)InstrPtr); for (auto *InstrPtr : DelInstrs) - InstrPtr->eraseFromParent(); + InstrPtr->eraseFromParentAndMarkDBGValuesForRemoval(); Changed = true; ++NumInstCombined; @@ -404,10 +406,10 @@ bool MachineCombiner::combineInstructions(MachineBasicBlock *MBB) { } bool MachineCombiner::runOnMachineFunction(MachineFunction &MF) { - TII = MF.getTarget().getInstrInfo(); - TRI = MF.getTarget().getRegisterInfo(); const TargetSubtargetInfo &STI = MF.getTarget().getSubtarget(); + TII = STI.getInstrInfo(); + TRI = STI.getRegisterInfo(); SchedModel = STI.getSchedModel(); TSchedModel.init(*SchedModel, &STI, TII); MRI = &MF.getRegInfo();