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));
         }
     }