[CodeGen] Fix index when printing tied machine operands
authorFrancis Visoiu Mistrih <francisvm@yahoo.com>
Thu, 7 Dec 2017 17:12:30 +0000 (17:12 +0000)
committerFrancis Visoiu Mistrih <francisvm@yahoo.com>
Thu, 7 Dec 2017 17:12:30 +0000 (17:12 +0000)
llvm-svn: 320061

llvm/lib/CodeGen/MachineInstr.cpp

index 464df33e6bebc222b74f1e989c2f01a0c56a5339..fb0b82c348c7801fafd55b881509af3223ed619e 100644 (file)
@@ -1289,7 +1289,7 @@ void MachineInstr::print(raw_ostream &OS, ModuleSlotTracker &MST,
     OS << " ";
     const unsigned OpIdx = InlineAsm::MIOp_AsmString;
     LLT TypeToPrint = MRI ? getTypeToPrint(OpIdx, PrintedTypes, *MRI) : LLT{};
-    unsigned TiedOperandIdx = getTiedOperandIdx(StartOp);
+    unsigned TiedOperandIdx = getTiedOperandIdx(OpIdx);
     getOperand(OpIdx).print(OS, MST, TypeToPrint, /*PrintDef=*/true,
                             ShouldPrintRegisterTies, TiedOperandIdx, TRI,
                             IntrinsicInfo);
@@ -1337,7 +1337,7 @@ void MachineInstr::print(raw_ostream &OS, ModuleSlotTracker &MST,
         OS << "!\"" << DIV->getName() << '\"';
       else {
         LLT TypeToPrint = MRI ? getTypeToPrint(i, PrintedTypes, *MRI) : LLT{};
-        unsigned TiedOperandIdx = getTiedOperandIdx(StartOp);
+        unsigned TiedOperandIdx = getTiedOperandIdx(i);
         MO.print(OS, MST, TypeToPrint, /*PrintDef=*/true,
                  ShouldPrintRegisterTies, TiedOperandIdx, TRI, IntrinsicInfo);
       }
@@ -1404,7 +1404,7 @@ void MachineInstr::print(raw_ostream &OS, ModuleSlotTracker &MST,
       AsmDescOp += 1 + InlineAsm::getNumOperandRegisters(Flag);
     } else {
       LLT TypeToPrint = MRI ? getTypeToPrint(i, PrintedTypes, *MRI) : LLT{};
-      unsigned TiedOperandIdx = getTiedOperandIdx(StartOp);
+      unsigned TiedOperandIdx = getTiedOperandIdx(i);
       MO.print(OS, MST, TypeToPrint, /*PrintDef=*/true, ShouldPrintRegisterTies,
                TiedOperandIdx, TRI, IntrinsicInfo);
     }