diff options
Diffstat (limited to 'contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h')
-rw-r--r-- | contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h b/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h index 723155f..a7f3304 100644 --- a/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h +++ b/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h @@ -60,27 +60,31 @@ private: std::map<const char *, const llvm::Mips16HardFloatInfo::FuncSignature *> StubsNeeded; - void emitInlineAsmStart(const MCSubtargetInfo &StartInfo) const override; + void emitInlineAsmStart() const override; void emitInlineAsmEnd(const MCSubtargetInfo &StartInfo, const MCSubtargetInfo *EndInfo) const override; - void EmitJal(MCSymbol *Symbol); + void EmitJal(const MCSubtargetInfo &STI, MCSymbol *Symbol); - void EmitInstrReg(unsigned Opcode, unsigned Reg); + void EmitInstrReg(const MCSubtargetInfo &STI, unsigned Opcode, unsigned Reg); - void EmitInstrRegReg(unsigned Opcode, unsigned Reg1, unsigned Reg2); + void EmitInstrRegReg(const MCSubtargetInfo &STI, unsigned Opcode, + unsigned Reg1, unsigned Reg2); - void EmitInstrRegRegReg(unsigned Opcode, unsigned Reg1, unsigned Reg2, - unsigned Reg3); + void EmitInstrRegRegReg(const MCSubtargetInfo &STI, unsigned Opcode, + unsigned Reg1, unsigned Reg2, unsigned Reg3); - void EmitMovFPIntPair(unsigned MovOpc, unsigned Reg1, unsigned Reg2, - unsigned FPReg1, unsigned FPReg2, bool LE); + void EmitMovFPIntPair(const MCSubtargetInfo &STI, unsigned MovOpc, + unsigned Reg1, unsigned Reg2, unsigned FPReg1, + unsigned FPReg2, bool LE); - void EmitSwapFPIntParams(Mips16HardFloatInfo::FPParamVariant, bool LE, + void EmitSwapFPIntParams(const MCSubtargetInfo &STI, + Mips16HardFloatInfo::FPParamVariant, bool LE, bool ToFP); - void EmitSwapFPIntRetval(Mips16HardFloatInfo::FPReturnVariant, bool LE); + void EmitSwapFPIntRetval(const MCSubtargetInfo &STI, + Mips16HardFloatInfo::FPReturnVariant, bool LE); void EmitFPCallStub(const char *, const Mips16HardFloatInfo::FuncSignature *); @@ -94,14 +98,10 @@ public: const MipsFunctionInfo *MipsFI; MipsMCInstLower MCInstLowering; - // We initialize the subtarget here and in runOnMachineFunction - // since there are certain target specific flags (ABI) that could - // reside on the TargetMachine, but are on the subtarget currently - // and we need them for the beginning of file output before we've - // seen a single function. - explicit MipsAsmPrinter(TargetMachine &TM, MCStreamer &Streamer) - : AsmPrinter(TM, Streamer), MCP(nullptr), InConstantPool(false), - Subtarget(&TM.getSubtarget<MipsSubtarget>()), MCInstLowering(*this) {} + explicit MipsAsmPrinter(TargetMachine &TM, + std::unique_ptr<MCStreamer> Streamer) + : AsmPrinter(TM, std::move(Streamer)), MCP(nullptr), + InConstantPool(false), MCInstLowering(*this) {} const char *getPassName() const override { return "Mips Assembly Printer"; @@ -124,6 +124,7 @@ public: void EmitFunctionEntryLabel() override; void EmitFunctionBodyStart() override; void EmitFunctionBodyEnd() override; + void EmitBasicBlockEnd(const MachineBasicBlock &MBB) override; bool isBlockOnlyReachableByFallthrough( const MachineBasicBlock* MBB) const override; bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, |