From 1a7233f9d08b20076ca71f7d95c673fd641b9c35 Mon Sep 17 00:00:00 2001 From: Jim Grosbach Date: Mon, 11 Oct 2010 21:31:22 +0000 Subject: [PATCH] Make sure to use the machine instruction operand number. It doesn't always map one-to-one with the CodeGenInstruction operand number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116238 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/CodeEmitterGen.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/utils/TableGen/CodeEmitterGen.cpp b/utils/TableGen/CodeEmitterGen.cpp index 1a967e9742c..13eea6be090 100644 --- a/utils/TableGen/CodeEmitterGen.cpp +++ b/utils/TableGen/CodeEmitterGen.cpp @@ -162,6 +162,8 @@ void CodeEmitterGen::run(raw_ostream &o) { if (CGI.hasOperandNamed(VarName, OpIdx)) { assert (!CGI.isFlatOperandNotEmitted(OpIdx) && "Explicitly used operand also marked as not emitted!"); + // Get the machine operand number for the indicated operand. + OpIdx = CGI.OperandList[OpIdx].MIOperandNo; } else { /// If this operand is not supposed to be emitted by the /// generated emitter, skip it. -- 2.34.1