Skip to content

Commit 32525f2

Browse files
committed
fixup! address review comments
1 parent efb9f4e commit 32525f2

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

llvm/utils/TableGen/PseudoLoweringEmitter.cpp

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,8 @@ void PseudoLoweringEmitter::addOperandMapping(
106106
"' has a different number of sub operands than source operand '" +
107107
SrcOpnd.Rec->getName() + "'");
108108

109-
// Source operand maps to destination operand. The Data element
110-
// will be filled in later, just set the Kind for now. Do it
111-
// for each corresponding MachineInstr operand, not just the first.
109+
// Source operand maps to destination operand. Do it for each corresponding
110+
// MachineInstr operand, not just the first.
112111
for (unsigned I = 0, E = NumOps; I != E; ++I) {
113112
auto &Entry = OperandMap[MIOpNo + I];
114113
Entry.Kind = OpData::Operand;
@@ -191,21 +190,26 @@ void PseudoLoweringEmitter::evaluateExpansion(const Record *Rec) {
191190
unsigned MIOpNo = DstOp.MIOperandNo;
192191

193192
if (const auto *SubDag = dyn_cast<DagInit>(Dag->getArg(Idx))) {
193+
if (DstOp.MIOperandInfo->getNumArgs() == 0)
194+
PrintFatalError(Rec, "In pseudo instruction '" + Rec->getName() +
195+
"', operand '" + DstOp.Rec->getName() +
196+
"' does not have suboperands");
194197
if (DstOp.MINumOperands != SubDag->getNumArgs()) {
195-
PrintError(Rec,
196-
"In pseudo instruction '" + Rec->getName() + "', '" +
197-
SubDag->getAsString() +
198-
"' has wrong number of operands for operand type '" +
199-
DstOp.Rec->getName() + "'");
198+
PrintFatalError(
199+
Rec, "In pseudo instruction '" + Rec->getName() + "', '" +
200+
SubDag->getAsString() +
201+
"' has wrong number of operands for operand type '" +
202+
DstOp.Rec->getName() + "'");
200203
}
201204
for (unsigned I = 0, E = DstOp.MINumOperands; I != E; ++I) {
202205
auto *OpndRec = cast<DefInit>(DstOp.MIOperandInfo->getArg(I))->getDef();
203206
addOperandMapping(MIOpNo + I, 1, Rec, SubDag, I, OpndRec, OperandMap,
204207
SourceOperands, SourceInsn);
205208
}
206-
} else
209+
} else {
207210
addOperandMapping(MIOpNo, DstOp.MINumOperands, Rec, Dag, Idx, DstOp.Rec,
208211
OperandMap, SourceOperands, SourceInsn);
212+
}
209213
}
210214

211215
Expansions.emplace_back(SourceInsn, Insn, OperandMap);

0 commit comments

Comments
 (0)