diff options
Diffstat (limited to 'llvm/lib/Target/Mips/MipsAsmPrinter.cpp')
-rw-r--r-- | llvm/lib/Target/Mips/MipsAsmPrinter.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/llvm/lib/Target/Mips/MipsAsmPrinter.cpp b/llvm/lib/Target/Mips/MipsAsmPrinter.cpp index 832fa05be0d..bcb14a45645 100644 --- a/llvm/lib/Target/Mips/MipsAsmPrinter.cpp +++ b/llvm/lib/Target/Mips/MipsAsmPrinter.cpp @@ -53,7 +53,7 @@ using namespace llvm; #define DEBUG_TYPE "mips-asm-printer" -MipsTargetStreamer &MipsAsmPrinter::getTargetStreamer() { +MipsTargetStreamer &MipsAsmPrinter::getTargetStreamer() const { return static_cast<MipsTargetStreamer &>(*OutStreamer.getTargetStreamer()); } @@ -743,6 +743,23 @@ void MipsAsmPrinter::EmitStartOfAsmFile(Module &M) { Subtarget->isABI_O32()); } +void MipsAsmPrinter::emitInlineAsmStart( + const MCSubtargetInfo &StartInfo) const { + MipsTargetStreamer &TS = getTargetStreamer(); + + TS.emitDirectiveSetPush(); + TS.emitDirectiveSetAt(); + TS.emitDirectiveSetMacro(); + TS.emitDirectiveSetReorder(); + OutStreamer.AddBlankLine(); +} + +void MipsAsmPrinter::emitInlineAsmEnd(const MCSubtargetInfo &StartInfo, + const MCSubtargetInfo *EndInfo) const { + OutStreamer.AddBlankLine(); + getTargetStreamer().emitDirectiveSetPop(); +} + void MipsAsmPrinter::EmitJal(MCSymbol *Symbol) { MCInst I; I.setOpcode(Mips::JAL); |