Make sure to use the machine instruction operand number. It doesn't always
authorJim Grosbach <grosbach@apple.com>
Mon, 11 Oct 2010 21:31:22 +0000 (21:31 +0000)
committerJim Grosbach <grosbach@apple.com>
Mon, 11 Oct 2010 21:31:22 +0000 (21:31 +0000)
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

index 1a967e9742c9bdb3f3d92311b123e98bcd786f5f..13eea6be0901bb63c485be300266e103664933f4 100644 (file)
@@ -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.