diff --git a/lib/CodeGen/TwoAddressInstructionPass.cpp b/lib/CodeGen/TwoAddressInstructionPass.cpp
index 899f601..0268d4b 100644
--- a/lib/CodeGen/TwoAddressInstructionPass.cpp
+++ b/lib/CodeGen/TwoAddressInstructionPass.cpp
@@ -45,8 +45,6 @@
 namespace {
   Statistic<> numTwoAddressInstrs("twoaddressinstruction",
                                   "Number of two-address instructions");
-  Statistic<> numInstrsAdded("twoaddressinstruction",
-                             "Number of instructions added");
 
   struct TwoAddressInstructionPass : public MachineFunctionPass {
     virtual void getAnalysisUsage(AnalysisUsage &AU) const;
@@ -124,15 +122,13 @@
 #endif
 
         const TargetRegisterClass* rc = MF.getSSARegMap()->getRegClass(regA);
-        unsigned Added = MRI.copyRegToReg(*mbbi, mi, regA, regB, rc);
-        numInstrsAdded += Added;
+        MRI.copyRegToReg(*mbbi, mi, regA, regB, rc);
 
         MachineBasicBlock::iterator prevMi = prior(mi);
         DEBUG(std::cerr << "\t\tprepend:\t"; prevMi->print(std::cerr, &TM));
 
         if (LV) {
           // update live variables for regA
-          assert(Added == 1 && "Cannot handle multi-instruction copies yet!");
           LiveVariables::VarInfo& varInfo = LV->getVarInfo(regA);
           varInfo.DefInst = prevMi;
 
