Remove redundant foldMemoryOperand variants and other code clean up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44517 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/VirtRegMap.cpp b/lib/CodeGen/VirtRegMap.cpp
index 86db2bc..a7154b2 100644
--- a/lib/CodeGen/VirtRegMap.cpp
+++ b/lib/CodeGen/VirtRegMap.cpp
@@ -115,7 +115,7 @@
 }
 
 void VirtRegMap::virtFolded(unsigned VirtReg, MachineInstr *OldMI,
-                            unsigned OpNo, MachineInstr *NewMI) {
+                            MachineInstr *NewMI, ModRef MRInfo) {
   // Move previous memory references folded to new instruction.
   MI2VirtMapTy::iterator IP = MI2VirtMap.lower_bound(NewMI);
   for (MI2VirtMapTy::iterator I = MI2VirtMap.lower_bound(OldMI),
@@ -124,18 +124,6 @@
     MI2VirtMap.erase(I++);
   }
 
-  ModRef MRInfo;
-  const TargetInstrDescriptor *TID = OldMI->getInstrDescriptor();
-  if (TID->getOperandConstraint(OpNo, TOI::TIED_TO) != -1 ||
-      TID->findTiedToSrcOperand(OpNo) != -1) {
-    // Folded a two-address operand.
-    MRInfo = isModRef;
-  } else if (OldMI->getOperand(OpNo).isDef()) {
-    MRInfo = isMod;
-  } else {
-    MRInfo = isRef;
-  }
-
   // add new memory reference
   MI2VirtMap.insert(IP, std::make_pair(NewMI, std::make_pair(VirtReg, MRInfo)));
 }
@@ -830,7 +818,9 @@
       NewMIs.clear();
       int Idx = NewMI->findRegisterUseOperandIdx(VirtReg);
       assert(Idx != -1);
-      MachineInstr *FoldedMI = MRI->foldMemoryOperand(NewMI, Idx, SS);
+      SmallVector<unsigned, 2> Ops;
+      Ops.push_back(Idx);
+      MachineInstr *FoldedMI = MRI->foldMemoryOperand(NewMI, Ops, SS);
       if (FoldedMI) {
         if (!VRM.hasPhys(UnfoldVR))
           VRM.assignVirt2Phys(UnfoldVR, UnfoldPR);