From 7fc89d2141c527840ff629a58fabfc4bb635c253 Mon Sep 17 00:00:00 2001 From: Toma Tabacu Date: Thu, 23 Apr 2015 14:48:38 +0000 Subject: [PATCH] [mips] [IAS] Move NOP emission after pseudo-instruction expansion. NFC. As suggested in the review for http://reviews.llvm.org/D8537. llvm-svn: 235601 --- llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp index 7615f87..88b1311 100644 --- a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp +++ b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp @@ -1383,14 +1383,6 @@ bool MipsAsmParser::processInstruction(MCInst &Inst, SMLoc IDLoc, } } - // If this instruction has a delay slot and .set reorder is active, - // emit a NOP after it. - if (MCID.hasDelaySlot() && AssemblerOptions.back()->isReorder()) { - Instructions.push_back(Inst); - createNop(hasShortDelaySlot(Inst.getOpcode()), IDLoc, Instructions); - return false; - } - if (MCID.mayLoad() || MCID.mayStore()) { // Check the offset of memory operand, if it is a symbol // reference or immediate we may have to expand instructions. @@ -1580,11 +1572,17 @@ bool MipsAsmParser::processInstruction(MCInst &Inst, SMLoc IDLoc, } } - if (needsExpansion(Inst)) - return expandInstruction(Inst, IDLoc, Instructions); - else + if (needsExpansion(Inst)) { + if (expandInstruction(Inst, IDLoc, Instructions)) + return true; + } else Instructions.push_back(Inst); + // If this instruction has a delay slot and .set reorder is active, + // emit a NOP after it. + if (MCID.hasDelaySlot() && AssemblerOptions.back()->isReorder()) + createNop(hasShortDelaySlot(Inst.getOpcode()), IDLoc, Instructions); + return false; } -- 2.7.4