diff options
Diffstat (limited to 'utils')
-rw-r--r-- | utils/TableGen/AsmWriterEmitter.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/utils/TableGen/AsmWriterEmitter.cpp b/utils/TableGen/AsmWriterEmitter.cpp index 319fe4f1e9..ea81795e0f 100644 --- a/utils/TableGen/AsmWriterEmitter.cpp +++ b/utils/TableGen/AsmWriterEmitter.cpp @@ -75,8 +75,12 @@ void AsmWriterEmitter::run(std::ostream &O) { // If this is a two-address instruction and we are not accessing the // 0th operand, remove an operand. - if (I->second.isTwoAddress && OpNo != 0) + if (I->second.isTwoAddress && OpNo != 0) { + if (OpNo == 1) + throw "Should refer to operand #0 instead of #1 for two-address" + " instruction '" + I->first + "'!"; --OpNo; + } O << "; printOperand(MI->getOperand(" << OpNo << "), MVT::" << getName(I->second.OperandList[OpNo].Ty) << "); O "; |