summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MIRParser/MIParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/CodeGen/MIRParser/MIParser.cpp')
-rw-r--r--llvm/lib/CodeGen/MIRParser/MIParser.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.cpp b/llvm/lib/CodeGen/MIRParser/MIParser.cpp
index f3d46afb0b0..18cc6db3196 100644
--- a/llvm/lib/CodeGen/MIRParser/MIParser.cpp
+++ b/llvm/lib/CodeGen/MIRParser/MIParser.cpp
@@ -923,11 +923,13 @@ bool MIParser::verifyImplicitOperands(ArrayRef<ParsedMachineOperand> Operands,
}
bool MIParser::parseInstruction(unsigned &OpCode, unsigned &Flags) {
- if (Token.is(MIToken::kw_frame_setup)) {
- Flags |= MachineInstr::FrameSetup;
- lex();
- } else if (Token.is(MIToken::kw_frame_destroy)) {
- Flags |= MachineInstr::FrameDestroy;
+ // Allow both:
+ // * frame-setup frame-destroy OPCODE
+ // * frame-destroy frame-setup OPCODE
+ while (Token.is(MIToken::kw_frame_setup) ||
+ Token.is(MIToken::kw_frame_destroy)) {
+ Flags |= Token.is(MIToken::kw_frame_setup) ? MachineInstr::FrameSetup
+ : MachineInstr::FrameDestroy;
lex();
}
if (Token.isNot(MIToken::Identifier))
OpenPOWER on IntegriCloud