@@ -90,14 +90,12 @@ unsigned PseudoLoweringEmitter::addDagOperandMapping(
90
90
// problem.
91
91
// FIXME: We probably shouldn't ever get a non-zero BaseIdx here.
92
92
assert (BaseIdx == 0 && " Named subargument in pseudo expansion?!" );
93
- if (DI->getDef () != Insn.Operands [BaseIdx + i].Rec ) {
94
- PrintError (Rec, " In pseudo instruction '" + Rec->getName () +
95
- " ', operand type '" + DI->getDef ()->getName () +
96
- " ' does not match expansion operand type '" +
97
- Insn.Operands [BaseIdx + i].Rec ->getName () + " '" );
98
- PrintFatalNote (DI->getDef (),
99
- " Value was assigned at the following location:" );
100
- }
93
+ if (DI->getDef () != Insn.Operands [BaseIdx + i].Rec )
94
+ PrintFatalError (Rec, " In pseudo instruction '" + Rec->getName () +
95
+ " ', operand type '" + DI->getDef ()->getName () +
96
+ " ' does not match expansion operand type '" +
97
+ Insn.Operands [BaseIdx + i].Rec ->getName () +
98
+ " '" );
101
99
// Source operand maps to destination operand. The Data element
102
100
// will be filled in later, just set the Kind for now. Do it
103
101
// for each corresponding MachineInstr operand, not just the first.
@@ -138,38 +136,26 @@ void PseudoLoweringEmitter::evaluateExpansion(const Record *Rec) {
138
136
LLVM_DEBUG (dbgs () << " Result: " << *Dag << " \n " );
139
137
140
138
const DefInit *OpDef = dyn_cast<DefInit>(Dag->getOperator ());
141
- if (!OpDef) {
142
- PrintError (Rec, " In pseudo instruction '" + Rec->getName () +
143
- " ', result operator is not a record" );
144
- PrintFatalNote (Rec->getValue (" ResultInst" ),
145
- " Result was assigned at the following location:" );
146
- }
139
+ if (!OpDef)
140
+ PrintFatalError (Rec, " In pseudo instruction '" + Rec->getName () +
141
+ " ', result operator is not a record" );
147
142
const Record *Operator = OpDef->getDef ();
148
- if (!Operator->isSubClassOf (" Instruction" )) {
149
- PrintError (Rec, " In pseudo instruction '" + Rec->getName () +
150
- " ', result operator '" + Operator->getName () +
151
- " ' is not an instruction" );
152
- PrintFatalNote (Rec->getValue (" ResultInst" ),
153
- " Result was assigned at the following location:" );
154
- }
143
+ if (!Operator->isSubClassOf (" Instruction" ))
144
+ PrintFatalError (Rec, " In pseudo instruction '" + Rec->getName () +
145
+ " ', result operator '" + Operator->getName () +
146
+ " ' is not an instruction" );
155
147
156
148
CodeGenInstruction Insn (Operator);
157
149
158
- if (Insn.isCodeGenOnly || Insn.isPseudo ) {
159
- PrintError (Rec, " In pseudo instruction '" + Rec->getName () +
160
- " ', result operator '" + Operator->getName () +
161
- " ' cannot be a pseudo instruction" );
162
- PrintFatalNote (Rec->getValue (" ResultInst" ),
163
- " Result was assigned at the following location:" );
164
- }
150
+ if (Insn.isCodeGenOnly || Insn.isPseudo )
151
+ PrintFatalError (Rec, " In pseudo instruction '" + Rec->getName () +
152
+ " ', result operator '" + Operator->getName () +
153
+ " ' cannot be a pseudo instruction" );
165
154
166
- if (Insn.Operands .size () != Dag->getNumArgs ()) {
167
- PrintError (Rec, " In pseudo instruction '" + Rec->getName () +
168
- " ', result operator '" + Operator->getName () +
169
- " ' has the wrong number of operands" );
170
- PrintFatalNote (Rec->getValue (" ResultInst" ),
171
- " Result was assigned at the following location:" );
172
- }
155
+ if (Insn.Operands .size () != Dag->getNumArgs ())
156
+ PrintFatalError (Rec, " In pseudo instruction '" + Rec->getName () +
157
+ " ', result operator '" + Operator->getName () +
158
+ " ' has the wrong number of operands" );
173
159
174
160
unsigned NumMIOperands = 0 ;
175
161
for (const auto &Op : Insn.Operands )
@@ -202,13 +188,10 @@ void PseudoLoweringEmitter::evaluateExpansion(const Record *Rec) {
202
188
continue ;
203
189
StringMap<unsigned >::iterator SourceOp =
204
190
SourceOperands.find (Dag->getArgNameStr (i));
205
- if (SourceOp == SourceOperands.end ()) {
206
- PrintError (Rec, " In pseudo instruction '" + Rec->getName () +
207
- " ', output operand '" + Dag->getArgNameStr (i) +
208
- " ' has no matching source operand" );
209
- PrintFatalNote (Rec->getValue (" ResultInst" ),
210
- " Value was assigned at the following location:" );
211
- }
191
+ if (SourceOp == SourceOperands.end ())
192
+ PrintFatalError (Rec, " In pseudo instruction '" + Rec->getName () +
193
+ " ', output operand '" + Dag->getArgNameStr (i) +
194
+ " ' has no matching source operand" );
212
195
// Map the source operand to the destination operand index for each
213
196
// MachineInstr operand.
214
197
for (unsigned I = 0 , E = Insn.Operands [i].MINumOperands ; I != E; ++I)
0 commit comments