diff --git a/llvm/lib/CodeGen/MachineLICM.cpp b/llvm/lib/CodeGen/MachineLICM.cpp
index f7373bea86b3..6bed0f384d07 100644
--- a/llvm/lib/CodeGen/MachineLICM.cpp
+++ b/llvm/lib/CodeGen/MachineLICM.cpp
@@ -178,7 +178,7 @@ bool MachineLICM::runOnMachineFunction(MachineFunction &MF) {
   CurMF = &MF;
   TM = &CurMF->getTarget();
   TII = TM->getInstrInfo();
-  RegInfo = new MachineRegisterInfo(*TM->getRegisterInfo());
+  RegInfo = &CurMF->getRegInfo();
 
   // Get our Loop information...
   LI = &getAnalysis<MachineLoopInfo>();
@@ -194,7 +194,6 @@ bool MachineLICM::runOnMachineFunction(MachineFunction &MF) {
     VisitAllLoops(CurLoop);
   }
 
-  delete RegInfo;
   return Changed;
 }