[llvm] r235601 - [mips] [IAS] Move NOP emission after pseudo-instruction expansion. NFC.
Toma Tabacu
toma.tabacu at imgtec.com
Thu Apr 23 07:48:38 PDT 2015
Author: tomatabacu
Date: Thu Apr 23 09:48:38 2015
New Revision: 235601
URL: http://llvm.org/viewvc/llvm-project?rev=235601&view=rev
Log:
[mips] [IAS] Move NOP emission after pseudo-instruction expansion. NFC.
As suggested in the review for http://reviews.llvm.org/D8537.
Modified:
llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Modified: llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp?rev=235601&r1=235600&r2=235601&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp (original)
+++ llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp Thu Apr 23 09:48:38 2015
@@ -1383,14 +1383,6 @@ bool MipsAsmParser::processInstruction(M
}
}
- // 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(M
}
}
- 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;
}
More information about the llvm-commits
mailing list