From: Jim Grosbach Date: Mon, 11 Oct 2010 21:31:22 +0000 (+0000) Subject: Make sure to use the machine instruction operand number. It doesn't always X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=1a7233f9d08b20076ca71f7d95c673fd641b9c35;p=oota-llvm.git 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 --- 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.