LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::MipsTargetAsmStreamer Class Reference

#include "Target/Mips/MipsTargetStreamer.h"

Inheritance diagram for llvm::MipsTargetAsmStreamer:
Inheritance graph
[legend]
Collaboration diagram for llvm::MipsTargetAsmStreamer:
Collaboration graph
[legend]

Public Member Functions

 MipsTargetAsmStreamer (MCStreamer &S, formatted_raw_ostream &OS)
 
void emitDirectiveSetMicroMips () override
 
void emitDirectiveSetNoMicroMips () override
 
void emitDirectiveSetMips16 () override
 
void emitDirectiveSetNoMips16 () override
 
void emitDirectiveSetReorder () override
 
void emitDirectiveSetNoReorder () override
 
void emitDirectiveSetMacro () override
 
void emitDirectiveSetNoMacro () override
 
void emitDirectiveSetMsa () override
 
void emitDirectiveSetNoMsa () override
 
void emitDirectiveSetMt () override
 
void emitDirectiveSetNoMt () override
 
void emitDirectiveSetAt () override
 
void emitDirectiveSetAtWithArg (unsigned RegNo) override
 
void emitDirectiveSetNoAt () override
 
void emitDirectiveEnd (StringRef Name) override
 
void emitDirectiveEnt (const MCSymbol &Symbol) override
 
void emitDirectiveAbiCalls () override
 
void emitDirectiveNaN2008 () override
 
void emitDirectiveNaNLegacy () override
 
void emitDirectiveOptionPic0 () override
 
void emitDirectiveOptionPic2 () override
 
void emitDirectiveInsn () override
 
void emitFrame (unsigned StackReg, unsigned StackSize, unsigned ReturnReg) override
 
void emitMask (unsigned CPUBitmask, int CPUTopSavedRegOff) override
 
void emitFMask (unsigned FPUBitmask, int FPUTopSavedRegOff) override
 
void emitDirectiveSetArch (StringRef Arch) override
 
void emitDirectiveSetMips0 () override
 
void emitDirectiveSetMips1 () override
 
void emitDirectiveSetMips2 () override
 
void emitDirectiveSetMips3 () override
 
void emitDirectiveSetMips4 () override
 
void emitDirectiveSetMips5 () override
 
void emitDirectiveSetMips32 () override
 
void emitDirectiveSetMips32R2 () override
 
void emitDirectiveSetMips32R3 () override
 
void emitDirectiveSetMips32R5 () override
 
void emitDirectiveSetMips32R6 () override
 
void emitDirectiveSetMips64 () override
 
void emitDirectiveSetMips64R2 () override
 
void emitDirectiveSetMips64R3 () override
 
void emitDirectiveSetMips64R5 () override
 
void emitDirectiveSetMips64R6 () override
 
void emitDirectiveSetDsp () override
 
void emitDirectiveSetDspr2 () override
 
void emitDirectiveSetNoDsp () override
 
void emitDirectiveSetPop () override
 
void emitDirectiveSetPush () override
 
void emitDirectiveSetSoftFloat () override
 
void emitDirectiveSetHardFloat () override
 
void emitDirectiveCpLoad (unsigned RegNo) override
 
bool emitDirectiveCpRestore (int Offset, function_ref< unsigned()> GetATReg, SMLoc IDLoc, const MCSubtargetInfo *STI) override
 Emit a .cprestore directive. More...
 
void emitDirectiveCpsetup (unsigned RegNo, int RegOrOffset, const MCSymbol &Sym, bool IsReg) override
 
void emitDirectiveCpreturn (unsigned SaveLocation, bool SaveLocationIsRegister) override
 
void emitDirectiveModuleFP () override
 
void emitDirectiveModuleOddSPReg () override
 
void emitDirectiveModuleSoftFloat () override
 
void emitDirectiveModuleHardFloat () override
 
void emitDirectiveModuleMT () override
 
void emitDirectiveSetFp (MipsABIFlagsSection::FpABIKind Value) override
 
void emitDirectiveSetOddSPReg () override
 
void emitDirectiveSetNoOddSPReg () override
 
- Public Member Functions inherited from llvm::MipsTargetStreamer
 MipsTargetStreamer (MCStreamer &S)
 
virtual void setPic (bool Value)
 
virtual void setUsesMicroMips ()
 
void emitR (unsigned Opcode, unsigned Reg0, SMLoc IDLoc, const MCSubtargetInfo *STI)
 
void emitII (unsigned Opcode, int16_t Imm1, int16_t Imm2, SMLoc IDLoc, const MCSubtargetInfo *STI)
 
void emitRX (unsigned Opcode, unsigned Reg0, MCOperand Op1, SMLoc IDLoc, const MCSubtargetInfo *STI)
 
void emitRI (unsigned Opcode, unsigned Reg0, int32_t Imm, SMLoc IDLoc, const MCSubtargetInfo *STI)
 
void emitRR (unsigned Opcode, unsigned Reg0, unsigned Reg1, SMLoc IDLoc, const MCSubtargetInfo *STI)
 
void emitRRX (unsigned Opcode, unsigned Reg0, unsigned Reg1, MCOperand Op2, SMLoc IDLoc, const MCSubtargetInfo *STI)
 
void emitRRR (unsigned Opcode, unsigned Reg0, unsigned Reg1, unsigned Reg2, SMLoc IDLoc, const MCSubtargetInfo *STI)
 
void emitRRI (unsigned Opcode, unsigned Reg0, unsigned Reg1, int16_t Imm, SMLoc IDLoc, const MCSubtargetInfo *STI)
 
void emitRRIII (unsigned Opcode, unsigned Reg0, unsigned Reg1, int16_t Imm0, int16_t Imm1, int16_t Imm2, SMLoc IDLoc, const MCSubtargetInfo *STI)
 
void emitAddu (unsigned DstReg, unsigned SrcReg, unsigned TrgReg, bool Is64Bit, const MCSubtargetInfo *STI)
 
void emitDSLL (unsigned DstReg, unsigned SrcReg, int16_t ShiftAmount, SMLoc IDLoc, const MCSubtargetInfo *STI)
 
void emitEmptyDelaySlot (bool hasShortDelaySlot, SMLoc IDLoc, const MCSubtargetInfo *STI)
 
void emitNop (SMLoc IDLoc, const MCSubtargetInfo *STI)
 
void emitStoreWithImmOffset (unsigned Opcode, unsigned SrcReg, unsigned BaseReg, int64_t Offset, function_ref< unsigned()> GetATReg, SMLoc IDLoc, const MCSubtargetInfo *STI)
 Emit a store instruction with an offset. More...
 
void emitStoreWithSymOffset (unsigned Opcode, unsigned SrcReg, unsigned BaseReg, MCOperand &HiOperand, MCOperand &LoOperand, unsigned ATReg, SMLoc IDLoc, const MCSubtargetInfo *STI)
 Emit a store instruction with an symbol offset. More...
 
void emitLoadWithImmOffset (unsigned Opcode, unsigned DstReg, unsigned BaseReg, int64_t Offset, unsigned TmpReg, SMLoc IDLoc, const MCSubtargetInfo *STI)
 Emit a load instruction with an immediate offset. More...
 
void emitLoadWithSymOffset (unsigned Opcode, unsigned DstReg, unsigned BaseReg, MCOperand &HiOperand, MCOperand &LoOperand, unsigned ATReg, SMLoc IDLoc, const MCSubtargetInfo *STI)
 Emit a load instruction with an symbol offset. More...
 
void emitGPRestore (int Offset, SMLoc IDLoc, const MCSubtargetInfo *STI)
 Emit the $gp restore operation for .cprestore. More...
 
void forbidModuleDirective ()
 
void reallowModuleDirective ()
 
bool isModuleDirectiveAllowed ()
 
template<class PredicateLibrary >
void updateABIInfo (const PredicateLibrary &P)
 
MipsABIFlagsSectiongetABIFlagsSection ()
 
const MipsABIInfogetABI () const
 
- Public Member Functions inherited from llvm::MCTargetStreamer
 MCTargetStreamer (MCStreamer &S)
 
virtual ~MCTargetStreamer ()
 
MCStreamergetStreamer ()
 
virtual void emitLabel (MCSymbol *Symbol)
 
virtual void emitAssignment (MCSymbol *Symbol, const MCExpr *Value)
 
virtual void prettyPrintAsm (MCInstPrinter &InstPrinter, raw_ostream &OS, const MCInst &Inst, const MCSubtargetInfo &STI)
 
virtual void finish ()
 

Additional Inherited Members

- Protected Attributes inherited from llvm::MipsTargetStreamer
llvm::Optional< MipsABIInfoABI
 
MipsABIFlagsSection ABIFlagsSection
 
bool GPRInfoSet
 
unsigned GPRBitMask
 
int GPROffset
 
bool FPRInfoSet
 
unsigned FPRBitMask
 
int FPROffset
 
bool FrameInfoSet
 
int FrameOffset
 
unsigned FrameReg
 
unsigned ReturnReg
 
- Protected Attributes inherited from llvm::MCTargetStreamer
MCStreamerStreamer
 

Detailed Description

Definition at line 198 of file MipsTargetStreamer.h.

Constructor & Destructor Documentation

◆ MipsTargetAsmStreamer()

MipsTargetAsmStreamer::MipsTargetAsmStreamer ( MCStreamer S,
formatted_raw_ostream OS 
)

Definition at line 360 of file MipsTargetStreamer.cpp.

Member Function Documentation

◆ emitDirectiveAbiCalls()

void MipsTargetAsmStreamer::emitDirectiveAbiCalls ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 447 of file MipsTargetStreamer.cpp.

◆ emitDirectiveCpLoad()

void MipsTargetAsmStreamer::emitDirectiveCpLoad ( unsigned  RegNo)
overridevirtual

◆ emitDirectiveCpRestore()

bool MipsTargetAsmStreamer::emitDirectiveCpRestore ( int  Offset,
function_ref< unsigned()>  GetATReg,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)
overridevirtual

Emit a .cprestore directive.

If the offset is out of range then it will be synthesized using the assembler temporary.

GetATReg() is a callback that can be used to obtain the current assembler temporary and is only called when the assembler temporary is required. It must handle the case where no assembler temporary is available (typically by reporting an error).

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 623 of file MipsTargetStreamer.cpp.

References llvm::MipsTargetStreamer::emitDirectiveCpRestore().

◆ emitDirectiveCpreturn()

void MipsTargetAsmStreamer::emitDirectiveCpreturn ( unsigned  SaveLocation,
bool  SaveLocationIsRegister 
)
overridevirtual

◆ emitDirectiveCpsetup()

void MipsTargetAsmStreamer::emitDirectiveCpsetup ( unsigned  RegNo,
int  RegOrOffset,
const MCSymbol Sym,
bool  IsReg 
)
overridevirtual

◆ emitDirectiveEnd()

void MipsTargetAsmStreamer::emitDirectiveEnd ( StringRef  Name)
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 439 of file MipsTargetStreamer.cpp.

◆ emitDirectiveEnt()

void MipsTargetAsmStreamer::emitDirectiveEnt ( const MCSymbol Symbol)
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 443 of file MipsTargetStreamer.cpp.

References llvm::MCSymbol::getName().

◆ emitDirectiveInsn()

void MipsTargetAsmStreamer::emitDirectiveInsn ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 463 of file MipsTargetStreamer.cpp.

References llvm::MipsTargetStreamer::emitDirectiveInsn().

◆ emitDirectiveModuleFP()

void MipsTargetAsmStreamer::emitDirectiveModuleFP ( )
overridevirtual

◆ emitDirectiveModuleHardFloat()

void MipsTargetAsmStreamer::emitDirectiveModuleHardFloat ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 689 of file MipsTargetStreamer.cpp.

◆ emitDirectiveModuleMT()

void MipsTargetAsmStreamer::emitDirectiveModuleMT ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 693 of file MipsTargetStreamer.cpp.

◆ emitDirectiveModuleOddSPReg()

void MipsTargetAsmStreamer::emitDirectiveModuleOddSPReg ( )
overridevirtual

◆ emitDirectiveModuleSoftFloat()

void MipsTargetAsmStreamer::emitDirectiveModuleSoftFloat ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 685 of file MipsTargetStreamer.cpp.

◆ emitDirectiveNaN2008()

void MipsTargetAsmStreamer::emitDirectiveNaN2008 ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 449 of file MipsTargetStreamer.cpp.

◆ emitDirectiveNaNLegacy()

void MipsTargetAsmStreamer::emitDirectiveNaNLegacy ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 451 of file MipsTargetStreamer.cpp.

◆ emitDirectiveOptionPic0()

void MipsTargetAsmStreamer::emitDirectiveOptionPic0 ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 455 of file MipsTargetStreamer.cpp.

◆ emitDirectiveOptionPic2()

void MipsTargetAsmStreamer::emitDirectiveOptionPic2 ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 459 of file MipsTargetStreamer.cpp.

◆ emitDirectiveSetArch()

void MipsTargetAsmStreamer::emitDirectiveSetArch ( StringRef  Arch)
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 476 of file MipsTargetStreamer.cpp.

References llvm::MipsTargetStreamer::emitDirectiveSetArch().

◆ emitDirectiveSetAt()

void MipsTargetAsmStreamer::emitDirectiveSetAt ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 424 of file MipsTargetStreamer.cpp.

References llvm::MipsTargetStreamer::emitDirectiveSetAt().

◆ emitDirectiveSetAtWithArg()

void MipsTargetAsmStreamer::emitDirectiveSetAtWithArg ( unsigned  RegNo)
overridevirtual

◆ emitDirectiveSetDsp()

void MipsTargetAsmStreamer::emitDirectiveSetDsp ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 561 of file MipsTargetStreamer.cpp.

References llvm::MipsTargetStreamer::emitDirectiveSetDsp().

◆ emitDirectiveSetDspr2()

void MipsTargetAsmStreamer::emitDirectiveSetDspr2 ( )
overridevirtual

◆ emitDirectiveSetFp()

void MipsTargetAsmStreamer::emitDirectiveSetFp ( MipsABIFlagsSection::FpABIKind  Value)
overridevirtual

◆ emitDirectiveSetHardFloat()

void MipsTargetAsmStreamer::emitDirectiveSetHardFloat ( )
overridevirtual

◆ emitDirectiveSetMacro()

void MipsTargetAsmStreamer::emitDirectiveSetMacro ( )
overridevirtual

◆ emitDirectiveSetMicroMips()

void MipsTargetAsmStreamer::emitDirectiveSetMicroMips ( )
overridevirtual

◆ emitDirectiveSetMips0()

void MipsTargetAsmStreamer::emitDirectiveSetMips0 ( )
overridevirtual

◆ emitDirectiveSetMips1()

void MipsTargetAsmStreamer::emitDirectiveSetMips1 ( )
overridevirtual

◆ emitDirectiveSetMips16()

void MipsTargetAsmStreamer::emitDirectiveSetMips16 ( )
overridevirtual

◆ emitDirectiveSetMips2()

void MipsTargetAsmStreamer::emitDirectiveSetMips2 ( )
overridevirtual

◆ emitDirectiveSetMips3()

void MipsTargetAsmStreamer::emitDirectiveSetMips3 ( )
overridevirtual

◆ emitDirectiveSetMips32()

void MipsTargetAsmStreamer::emitDirectiveSetMips32 ( )
overridevirtual

◆ emitDirectiveSetMips32R2()

void MipsTargetAsmStreamer::emitDirectiveSetMips32R2 ( )
overridevirtual

◆ emitDirectiveSetMips32R3()

void MipsTargetAsmStreamer::emitDirectiveSetMips32R3 ( )
overridevirtual

◆ emitDirectiveSetMips32R5()

void MipsTargetAsmStreamer::emitDirectiveSetMips32R5 ( )
overridevirtual

◆ emitDirectiveSetMips32R6()

void MipsTargetAsmStreamer::emitDirectiveSetMips32R6 ( )
overridevirtual

◆ emitDirectiveSetMips4()

void MipsTargetAsmStreamer::emitDirectiveSetMips4 ( )
overridevirtual

◆ emitDirectiveSetMips5()

void MipsTargetAsmStreamer::emitDirectiveSetMips5 ( )
overridevirtual

◆ emitDirectiveSetMips64()

void MipsTargetAsmStreamer::emitDirectiveSetMips64 ( )
overridevirtual

◆ emitDirectiveSetMips64R2()

void MipsTargetAsmStreamer::emitDirectiveSetMips64R2 ( )
overridevirtual

◆ emitDirectiveSetMips64R3()

void MipsTargetAsmStreamer::emitDirectiveSetMips64R3 ( )
overridevirtual

◆ emitDirectiveSetMips64R5()

void MipsTargetAsmStreamer::emitDirectiveSetMips64R5 ( )
overridevirtual

◆ emitDirectiveSetMips64R6()

void MipsTargetAsmStreamer::emitDirectiveSetMips64R6 ( )
overridevirtual

◆ emitDirectiveSetMsa()

void MipsTargetAsmStreamer::emitDirectiveSetMsa ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 404 of file MipsTargetStreamer.cpp.

References llvm::MipsTargetStreamer::emitDirectiveSetMsa().

◆ emitDirectiveSetMt()

void MipsTargetAsmStreamer::emitDirectiveSetMt ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 414 of file MipsTargetStreamer.cpp.

References llvm::MipsTargetStreamer::emitDirectiveSetMt().

◆ emitDirectiveSetNoAt()

void MipsTargetAsmStreamer::emitDirectiveSetNoAt ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 434 of file MipsTargetStreamer.cpp.

References llvm::MipsTargetStreamer::emitDirectiveSetNoAt().

◆ emitDirectiveSetNoDsp()

void MipsTargetAsmStreamer::emitDirectiveSetNoDsp ( )
overridevirtual

◆ emitDirectiveSetNoMacro()

void MipsTargetAsmStreamer::emitDirectiveSetNoMacro ( )
overridevirtual

◆ emitDirectiveSetNoMicroMips()

void MipsTargetAsmStreamer::emitDirectiveSetNoMicroMips ( )
overridevirtual

◆ emitDirectiveSetNoMips16()

void MipsTargetAsmStreamer::emitDirectiveSetNoMips16 ( )
overridevirtual

◆ emitDirectiveSetNoMsa()

void MipsTargetAsmStreamer::emitDirectiveSetNoMsa ( )
overridevirtual

◆ emitDirectiveSetNoMt()

void MipsTargetAsmStreamer::emitDirectiveSetNoMt ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 419 of file MipsTargetStreamer.cpp.

References llvm::MipsTargetStreamer::emitDirectiveSetNoMt().

◆ emitDirectiveSetNoOddSPReg()

void MipsTargetAsmStreamer::emitDirectiveSetNoOddSPReg ( )
overridevirtual

◆ emitDirectiveSetNoReorder()

void MipsTargetAsmStreamer::emitDirectiveSetNoReorder ( )
overridevirtual

◆ emitDirectiveSetOddSPReg()

void MipsTargetAsmStreamer::emitDirectiveSetOddSPReg ( )
overridevirtual

◆ emitDirectiveSetPop()

void MipsTargetAsmStreamer::emitDirectiveSetPop ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 576 of file MipsTargetStreamer.cpp.

References llvm::MipsTargetStreamer::emitDirectiveSetPop().

◆ emitDirectiveSetPush()

void MipsTargetAsmStreamer::emitDirectiveSetPush ( )
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 581 of file MipsTargetStreamer.cpp.

References llvm::MipsTargetStreamer::emitDirectiveSetPush().

◆ emitDirectiveSetReorder()

void MipsTargetAsmStreamer::emitDirectiveSetReorder ( )
overridevirtual

◆ emitDirectiveSetSoftFloat()

void MipsTargetAsmStreamer::emitDirectiveSetSoftFloat ( )
overridevirtual

◆ emitFMask()

void MipsTargetAsmStreamer::emitFMask ( unsigned  FPUBitmask,
int  FPUTopSavedRegOff 
)
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 610 of file MipsTargetStreamer.cpp.

References printHex32().

◆ emitFrame()

void MipsTargetAsmStreamer::emitFrame ( unsigned  StackReg,
unsigned  StackSize,
unsigned  ReturnReg 
)
overridevirtual

◆ emitMask()

void MipsTargetAsmStreamer::emitMask ( unsigned  CPUBitmask,
int  CPUTopSavedRegOff 
)
overridevirtual

Reimplemented from llvm::MipsTargetStreamer.

Definition at line 603 of file MipsTargetStreamer.cpp.

References printHex32().


The documentation for this class was generated from the following files: