summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/TableGen/AsmWriterEmitter.cpp6
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 ";