Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14389 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/TwoAddressInstructionPass.cpp b/lib/CodeGen/TwoAddressInstructionPass.cpp
index 066260c..2190f21 100644
--- a/lib/CodeGen/TwoAddressInstructionPass.cpp
+++ b/lib/CodeGen/TwoAddressInstructionPass.cpp
@@ -98,7 +98,7 @@
++numTwoAddressInstrs;
- DEBUG(std::cerr << '\t'; mi->print(std::cerr, TM));
+ DEBUG(std::cerr << '\t'; mi->print(std::cerr, &TM));
assert(mi->getOperand(1).isRegister() &&
mi->getOperand(1).getReg() &&
@@ -140,7 +140,7 @@
MachineBasicBlock::iterator prevMi = prior(mi);
DEBUG(std::cerr << "\t\tprepend:\t";
- prevMi->print(std::cerr, TM));
+ prevMi->print(std::cerr, &TM));
if (LV) {
// update live variables for regA
@@ -170,7 +170,7 @@
mi->RemoveOperand(1);
DEBUG(std::cerr << "\t\trewrite to:\t";
- mi->print(std::cerr, TM));
+ mi->print(std::cerr, &TM));
}
}