LLVM  8.0.1
Public Member Functions | Protected Attributes | List of all members
llvm::MipsTargetStreamer Class Reference

#include "Target/Mips/MipsTargetStreamer.h"

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

Public Member Functions

 MipsTargetStreamer (MCStreamer &S)
 
virtual void setPic (bool Value)
 
virtual void emitDirectiveSetMicroMips ()
 
virtual void emitDirectiveSetNoMicroMips ()
 
virtual void setUsesMicroMips ()
 
virtual void emitDirectiveSetMips16 ()
 
virtual void emitDirectiveSetNoMips16 ()
 
virtual void emitDirectiveSetReorder ()
 
virtual void emitDirectiveSetNoReorder ()
 
virtual void emitDirectiveSetMacro ()
 
virtual void emitDirectiveSetNoMacro ()
 
virtual void emitDirectiveSetMsa ()
 
virtual void emitDirectiveSetNoMsa ()
 
virtual void emitDirectiveSetMt ()
 
virtual void emitDirectiveSetNoMt ()
 
virtual void emitDirectiveSetCRC ()
 
virtual void emitDirectiveSetNoCRC ()
 
virtual void emitDirectiveSetVirt ()
 
virtual void emitDirectiveSetNoVirt ()
 
virtual void emitDirectiveSetGINV ()
 
virtual void emitDirectiveSetNoGINV ()
 
virtual void emitDirectiveSetAt ()
 
virtual void emitDirectiveSetAtWithArg (unsigned RegNo)
 
virtual void emitDirectiveSetNoAt ()
 
virtual void emitDirectiveEnd (StringRef Name)
 
virtual void emitDirectiveEnt (const MCSymbol &Symbol)
 
virtual void emitDirectiveAbiCalls ()
 
virtual void emitDirectiveNaN2008 ()
 
virtual void emitDirectiveNaNLegacy ()
 
virtual void emitDirectiveOptionPic0 ()
 
virtual void emitDirectiveOptionPic2 ()
 
virtual void emitDirectiveInsn ()
 
virtual void emitFrame (unsigned StackReg, unsigned StackSize, unsigned ReturnReg)
 
virtual void emitMask (unsigned CPUBitmask, int CPUTopSavedRegOff)
 
virtual void emitFMask (unsigned FPUBitmask, int FPUTopSavedRegOff)
 
virtual void emitDirectiveSetArch (StringRef Arch)
 
virtual void emitDirectiveSetMips0 ()
 
virtual void emitDirectiveSetMips1 ()
 
virtual void emitDirectiveSetMips2 ()
 
virtual void emitDirectiveSetMips3 ()
 
virtual void emitDirectiveSetMips4 ()
 
virtual void emitDirectiveSetMips5 ()
 
virtual void emitDirectiveSetMips32 ()
 
virtual void emitDirectiveSetMips32R2 ()
 
virtual void emitDirectiveSetMips32R3 ()
 
virtual void emitDirectiveSetMips32R5 ()
 
virtual void emitDirectiveSetMips32R6 ()
 
virtual void emitDirectiveSetMips64 ()
 
virtual void emitDirectiveSetMips64R2 ()
 
virtual void emitDirectiveSetMips64R3 ()
 
virtual void emitDirectiveSetMips64R5 ()
 
virtual void emitDirectiveSetMips64R6 ()
 
virtual void emitDirectiveSetDsp ()
 
virtual void emitDirectiveSetDspr2 ()
 
virtual void emitDirectiveSetNoDsp ()
 
virtual void emitDirectiveSetPop ()
 
virtual void emitDirectiveSetPush ()
 
virtual void emitDirectiveSetSoftFloat ()
 
virtual void emitDirectiveSetHardFloat ()
 
virtual void emitDirectiveCpLoad (unsigned RegNo)
 
virtual bool emitDirectiveCpRestore (int Offset, function_ref< unsigned()> GetATReg, SMLoc IDLoc, const MCSubtargetInfo *STI)
 
virtual void emitDirectiveCpsetup (unsigned RegNo, int RegOrOffset, const MCSymbol &Sym, bool IsReg)
 
virtual void emitDirectiveCpreturn (unsigned SaveLocation, bool SaveLocationIsRegister)
 
virtual void emitDirectiveModuleFP ()
 
virtual void emitDirectiveModuleOddSPReg ()
 
virtual void emitDirectiveModuleSoftFloat ()
 
virtual void emitDirectiveModuleHardFloat ()
 
virtual void emitDirectiveModuleMT ()
 
virtual void emitDirectiveSetFp (MipsABIFlagsSection::FpABIKind Value)
 
virtual void emitDirectiveSetOddSPReg ()
 
virtual void emitDirectiveSetNoOddSPReg ()
 
virtual void emitDirectiveModuleCRC ()
 
virtual void emitDirectiveModuleNoCRC ()
 
virtual void emitDirectiveModuleVirt ()
 
virtual void emitDirectiveModuleNoVirt ()
 
virtual void emitDirectiveModuleGINV ()
 
virtual void emitDirectiveModuleNoGINV ()
 
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 emitDwarfFileDirective (StringRef Directive)
 
virtual void changeSection (const MCSection *CurSection, MCSection *Section, const MCExpr *SubSection, raw_ostream &OS)
 Update streamer for a new active section. More...
 
virtual void emitValue (const MCExpr *Value)
 
virtual void emitRawBytes (StringRef Data)
 Emit the bytes in Data into the output. More...
 
virtual void finish ()
 

Protected Attributes

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 25 of file MipsTargetStreamer.h.

Constructor & Destructor Documentation

◆ MipsTargetStreamer()

MipsTargetStreamer::MipsTargetStreamer ( MCStreamer S)

Definition at line 38 of file MipsTargetStreamer.cpp.

References FPRInfoSet, FrameInfoSet, and GPRInfoSet.

Member Function Documentation

◆ emitAddu()

void MipsTargetStreamer::emitAddu ( unsigned  DstReg,
unsigned  SrcReg,
unsigned  TrgReg,
bool  Is64Bit,
const MCSubtargetInfo STI 
)

Definition at line 224 of file MipsTargetStreamer.cpp.

References emitRRR().

Referenced by setPic().

◆ emitDirectiveAbiCalls()

void MipsTargetStreamer::emitDirectiveAbiCalls ( )
virtual

◆ emitDirectiveCpLoad()

void MipsTargetStreamer::emitDirectiveCpLoad ( unsigned  RegNo)
virtual

◆ emitDirectiveCpRestore()

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

◆ emitDirectiveCpreturn()

void MipsTargetStreamer::emitDirectiveCpreturn ( unsigned  SaveLocation,
bool  SaveLocationIsRegister 
)
virtual

◆ emitDirectiveCpsetup()

void MipsTargetStreamer::emitDirectiveCpsetup ( unsigned  RegNo,
int  RegOrOffset,
const MCSymbol Sym,
bool  IsReg 
)
virtual

◆ emitDirectiveEnd()

void MipsTargetStreamer::emitDirectiveEnd ( StringRef  Name)
virtual

◆ emitDirectiveEnt()

void MipsTargetStreamer::emitDirectiveEnt ( const MCSymbol Symbol)
virtual

◆ emitDirectiveInsn()

void MipsTargetStreamer::emitDirectiveInsn ( )
virtual

◆ emitDirectiveModuleCRC()

void MipsTargetStreamer::emitDirectiveModuleCRC ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 131 of file MipsTargetStreamer.cpp.

Referenced by setPic().

◆ emitDirectiveModuleFP()

void MipsTargetStreamer::emitDirectiveModuleFP ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 122 of file MipsTargetStreamer.cpp.

Referenced by llvm::MipsAsmPrinter::EmitStartOfAsmFile(), and setPic().

◆ emitDirectiveModuleGINV()

void MipsTargetStreamer::emitDirectiveModuleGINV ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 135 of file MipsTargetStreamer.cpp.

Referenced by setPic().

◆ emitDirectiveModuleHardFloat()

void MipsTargetStreamer::emitDirectiveModuleHardFloat ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 129 of file MipsTargetStreamer.cpp.

Referenced by setPic().

◆ emitDirectiveModuleMT()

void MipsTargetStreamer::emitDirectiveModuleMT ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 130 of file MipsTargetStreamer.cpp.

Referenced by setPic().

◆ emitDirectiveModuleNoCRC()

void MipsTargetStreamer::emitDirectiveModuleNoCRC ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 132 of file MipsTargetStreamer.cpp.

Referenced by setPic().

◆ emitDirectiveModuleNoGINV()

void MipsTargetStreamer::emitDirectiveModuleNoGINV ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 136 of file MipsTargetStreamer.cpp.

Referenced by setPic().

◆ emitDirectiveModuleNoVirt()

void MipsTargetStreamer::emitDirectiveModuleNoVirt ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 134 of file MipsTargetStreamer.cpp.

Referenced by setPic().

◆ emitDirectiveModuleOddSPReg()

void MipsTargetStreamer::emitDirectiveModuleOddSPReg ( )
virtual

◆ emitDirectiveModuleSoftFloat()

void MipsTargetStreamer::emitDirectiveModuleSoftFloat ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 128 of file MipsTargetStreamer.cpp.

Referenced by setPic().

◆ emitDirectiveModuleVirt()

void MipsTargetStreamer::emitDirectiveModuleVirt ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 133 of file MipsTargetStreamer.cpp.

Referenced by setPic().

◆ emitDirectiveNaN2008()

void MipsTargetStreamer::emitDirectiveNaN2008 ( )
virtual

◆ emitDirectiveNaNLegacy()

void MipsTargetStreamer::emitDirectiveNaNLegacy ( )
virtual

◆ emitDirectiveOptionPic0()

void MipsTargetStreamer::emitDirectiveOptionPic0 ( )
virtual

◆ emitDirectiveOptionPic2()

void MipsTargetStreamer::emitDirectiveOptionPic2 ( )
virtual

◆ emitDirectiveSetArch()

void MipsTargetStreamer::emitDirectiveSetArch ( StringRef  Arch)
virtual

◆ emitDirectiveSetAt()

void MipsTargetStreamer::emitDirectiveSetAt ( )
virtual

◆ emitDirectiveSetAtWithArg()

void MipsTargetStreamer::emitDirectiveSetAtWithArg ( unsigned  RegNo)
virtual

◆ emitDirectiveSetCRC()

void MipsTargetStreamer::emitDirectiveSetCRC ( )
virtual

◆ emitDirectiveSetDsp()

void MipsTargetStreamer::emitDirectiveSetDsp ( )
virtual

◆ emitDirectiveSetDspr2()

void MipsTargetStreamer::emitDirectiveSetDspr2 ( )
virtual

◆ emitDirectiveSetFp()

void MipsTargetStreamer::emitDirectiveSetFp ( MipsABIFlagsSection::FpABIKind  Value)
virtual

◆ emitDirectiveSetGINV()

void MipsTargetStreamer::emitDirectiveSetGINV ( )
virtual

◆ emitDirectiveSetHardFloat()

void MipsTargetStreamer::emitDirectiveSetHardFloat ( )
virtual

◆ emitDirectiveSetMacro()

void MipsTargetStreamer::emitDirectiveSetMacro ( )
virtual

◆ emitDirectiveSetMicroMips()

void MipsTargetStreamer::emitDirectiveSetMicroMips ( )
virtual

◆ emitDirectiveSetMips0()

void MipsTargetStreamer::emitDirectiveSetMips0 ( )
virtual

◆ emitDirectiveSetMips1()

void MipsTargetStreamer::emitDirectiveSetMips1 ( )
virtual

◆ emitDirectiveSetMips16()

void MipsTargetStreamer::emitDirectiveSetMips16 ( )
virtual

◆ emitDirectiveSetMips2()

void MipsTargetStreamer::emitDirectiveSetMips2 ( )
virtual

◆ emitDirectiveSetMips3()

void MipsTargetStreamer::emitDirectiveSetMips3 ( )
virtual

◆ emitDirectiveSetMips32()

void MipsTargetStreamer::emitDirectiveSetMips32 ( )
virtual

◆ emitDirectiveSetMips32R2()

void MipsTargetStreamer::emitDirectiveSetMips32R2 ( )
virtual

◆ emitDirectiveSetMips32R3()

void MipsTargetStreamer::emitDirectiveSetMips32R3 ( )
virtual

◆ emitDirectiveSetMips32R5()

void MipsTargetStreamer::emitDirectiveSetMips32R5 ( )
virtual

◆ emitDirectiveSetMips32R6()

void MipsTargetStreamer::emitDirectiveSetMips32R6 ( )
virtual

◆ emitDirectiveSetMips4()

void MipsTargetStreamer::emitDirectiveSetMips4 ( )
virtual

◆ emitDirectiveSetMips5()

void MipsTargetStreamer::emitDirectiveSetMips5 ( )
virtual

◆ emitDirectiveSetMips64()

void MipsTargetStreamer::emitDirectiveSetMips64 ( )
virtual

◆ emitDirectiveSetMips64R2()

void MipsTargetStreamer::emitDirectiveSetMips64R2 ( )
virtual

◆ emitDirectiveSetMips64R3()

void MipsTargetStreamer::emitDirectiveSetMips64R3 ( )
virtual

◆ emitDirectiveSetMips64R5()

void MipsTargetStreamer::emitDirectiveSetMips64R5 ( )
virtual

◆ emitDirectiveSetMips64R6()

void MipsTargetStreamer::emitDirectiveSetMips64R6 ( )
virtual

◆ emitDirectiveSetMsa()

void MipsTargetStreamer::emitDirectiveSetMsa ( )
virtual

◆ emitDirectiveSetMt()

void MipsTargetStreamer::emitDirectiveSetMt ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 53 of file MipsTargetStreamer.cpp.

Referenced by llvm::MipsTargetAsmStreamer::emitDirectiveSetMt(), and setPic().

◆ emitDirectiveSetNoAt()

void MipsTargetStreamer::emitDirectiveSetNoAt ( )
virtual

◆ emitDirectiveSetNoCRC()

void MipsTargetStreamer::emitDirectiveSetNoCRC ( )
virtual

◆ emitDirectiveSetNoDsp()

void MipsTargetStreamer::emitDirectiveSetNoDsp ( )
virtual

◆ emitDirectiveSetNoGINV()

void MipsTargetStreamer::emitDirectiveSetNoGINV ( )
virtual

◆ emitDirectiveSetNoMacro()

void MipsTargetStreamer::emitDirectiveSetNoMacro ( )
virtual

◆ emitDirectiveSetNoMicroMips()

void MipsTargetStreamer::emitDirectiveSetNoMicroMips ( )
virtual

◆ emitDirectiveSetNoMips16()

void MipsTargetStreamer::emitDirectiveSetNoMips16 ( )
virtual

◆ emitDirectiveSetNoMsa()

void MipsTargetStreamer::emitDirectiveSetNoMsa ( )
virtual

◆ emitDirectiveSetNoMt()

void MipsTargetStreamer::emitDirectiveSetNoMt ( )
virtual

◆ emitDirectiveSetNoOddSPReg()

void MipsTargetStreamer::emitDirectiveSetNoOddSPReg ( )
virtual

◆ emitDirectiveSetNoReorder()

void MipsTargetStreamer::emitDirectiveSetNoReorder ( )
virtual

◆ emitDirectiveSetNoVirt()

void MipsTargetStreamer::emitDirectiveSetNoVirt ( )
virtual

◆ emitDirectiveSetOddSPReg()

void MipsTargetStreamer::emitDirectiveSetOddSPReg ( )
virtual

◆ emitDirectiveSetPop()

void MipsTargetStreamer::emitDirectiveSetPop ( )
virtual

◆ emitDirectiveSetPush()

void MipsTargetStreamer::emitDirectiveSetPush ( )
virtual

◆ emitDirectiveSetReorder()

void MipsTargetStreamer::emitDirectiveSetReorder ( )
virtual

◆ emitDirectiveSetSoftFloat()

void MipsTargetStreamer::emitDirectiveSetSoftFloat ( )
virtual

◆ emitDirectiveSetVirt()

void MipsTargetStreamer::emitDirectiveSetVirt ( )
virtual

◆ emitDSLL()

void MipsTargetStreamer::emitDSLL ( unsigned  DstReg,
unsigned  SrcReg,
int16_t  ShiftAmount,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

Definition at line 231 of file MipsTargetStreamer.cpp.

References emitRRI().

Referenced by isShiftedUIntAtAnyPosition(), nextReg(), and setPic().

◆ emitEmptyDelaySlot()

void MipsTargetStreamer::emitEmptyDelaySlot ( bool  hasShortDelaySlot,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

Definition at line 242 of file MipsTargetStreamer.cpp.

References emitRR(), and emitRRI().

Referenced by countMCSymbolRefExpr(), nextReg(), and setPic().

◆ emitFMask()

void MipsTargetStreamer::emitFMask ( unsigned  FPUBitmask,
int  FPUTopSavedRegOff 
)
virtual

◆ emitFrame()

void MipsTargetStreamer::emitFrame ( unsigned  StackReg,
unsigned  StackSize,
unsigned  ReturnReg 
)
virtual

◆ emitGPRestore()

void MipsTargetStreamer::emitGPRestore ( int  Offset,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

Emit the $gp restore operation for .cprestore.

Definition at line 259 of file MipsTargetStreamer.cpp.

References emitLoadWithImmOffset().

Referenced by countMCSymbolRefExpr(), and setPic().

◆ emitII()

void MipsTargetStreamer::emitII ( unsigned  Opcode,
int16_t  Imm1,
int16_t  Imm2,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

◆ emitLoadWithImmOffset()

void MipsTargetStreamer::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.

DstReg and TmpReg are permitted to be the same register iff DstReg is distinct from BaseReg and DstReg is a GPR. It is the callers responsibility to identify such cases and pass the appropriate register in TmpReg.

Definition at line 320 of file MipsTargetStreamer.cpp.

References emitRI(), emitRRI(), emitRRR(), and llvm::isInt< 16 >().

Referenced by emitGPRestore(), and setPic().

◆ emitLoadWithSymOffset()

void MipsTargetStreamer::emitLoadWithSymOffset ( unsigned  Opcode,
unsigned  DstReg,
unsigned  BaseReg,
MCOperand HiOperand,
MCOperand LoOperand,
unsigned  TmpReg,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

Emit a load instruction with an symbol offset.

Symbols are assumed to be out of range for a simm16 will be expanded to appropriate instructions. DstReg and TmpReg are permitted to be the same register iff DstReg is a GPR. It is the callers responsibility to identify such cases and pass the appropriate register in TmpReg.

Definition at line 357 of file MipsTargetStreamer.cpp.

References emitRRR(), emitRRX(), and emitRX().

Referenced by nextReg(), and setPic().

◆ emitMask()

void MipsTargetStreamer::emitMask ( unsigned  CPUBitmask,
int  CPUTopSavedRegOff 
)
virtual

◆ emitNop()

void MipsTargetStreamer::emitNop ( SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

Definition at line 250 of file MipsTargetStreamer.cpp.

References emitRR(), emitRRI(), Features, and llvm::MCSubtargetInfo::getFeatureBits().

Referenced by nextReg(), and setPic().

◆ emitR()

void MipsTargetStreamer::emitR ( unsigned  Opcode,
unsigned  Reg0,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

◆ emitRI()

void MipsTargetStreamer::emitRI ( unsigned  Opcode,
unsigned  Reg0,
int32_t  Imm,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

◆ emitRR()

void MipsTargetStreamer::emitRR ( unsigned  Opcode,
unsigned  Reg0,
unsigned  Reg1,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

Definition at line 170 of file MipsTargetStreamer.cpp.

References llvm::MCOperand::createReg(), and emitRX().

Referenced by emitEmptyDelaySlot(), emitNop(), nextReg(), and setPic().

◆ emitRRI()

void MipsTargetStreamer::emitRRI ( unsigned  Opcode,
unsigned  Reg0,
unsigned  Reg1,
int16_t  Imm,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

◆ emitRRIII()

void MipsTargetStreamer::emitRRIII ( unsigned  Opcode,
unsigned  Reg0,
unsigned  Reg1,
int16_t  Imm0,
int16_t  Imm1,
int16_t  Imm2,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

◆ emitRRR()

void MipsTargetStreamer::emitRRR ( unsigned  Opcode,
unsigned  Reg0,
unsigned  Reg1,
unsigned  Reg2,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

◆ emitRRX()

void MipsTargetStreamer::emitRRX ( unsigned  Opcode,
unsigned  Reg0,
unsigned  Reg1,
MCOperand  Op2,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

◆ emitRX()

void MipsTargetStreamer::emitRX ( unsigned  Opcode,
unsigned  Reg0,
MCOperand  Op1,
SMLoc  IDLoc,
const MCSubtargetInfo STI 
)

◆ emitStoreWithImmOffset()

void MipsTargetStreamer::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.

Emit a store instruction with an immediate offset.

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).

Definition at line 266 of file MipsTargetStreamer.cpp.

References emitRI(), emitRRI(), emitRRR(), and llvm::isInt< 16 >().

Referenced by llvm::MipsTargetELFStreamer::emitDirectiveCpRestore(), and setPic().

◆ emitStoreWithSymOffset()

void MipsTargetStreamer::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.

Symbols are assumed to be out of range for a simm16 will be expanded to appropriate instructions.

Definition at line 301 of file MipsTargetStreamer.cpp.

References emitRRR(), emitRRX(), and emitRX().

Referenced by nextReg(), and setPic().

◆ forbidModuleDirective()

void llvm::MipsTargetStreamer::forbidModuleDirective ( )
inline

Definition at line 170 of file MipsTargetStreamer.h.

Referenced by llvm::MipsTargetAsmStreamer::emitDirectiveCpLoad(), llvm::MipsTargetELFStreamer::emitDirectiveCpLoad(), emitDirectiveCpRestore(), llvm::MipsTargetAsmStreamer::emitDirectiveCpreturn(), llvm::MipsTargetELFStreamer::emitDirectiveCpreturn(), llvm::MipsTargetAsmStreamer::emitDirectiveCpsetup(), llvm::MipsTargetELFStreamer::emitDirectiveCpsetup(), emitDirectiveInsn(), emitDirectiveSetArch(), emitDirectiveSetAt(), emitDirectiveSetAtWithArg(), emitDirectiveSetDsp(), emitDirectiveSetDspr2(), emitDirectiveSetFp(), emitDirectiveSetHardFloat(), emitDirectiveSetMacro(), llvm::MipsTargetAsmStreamer::emitDirectiveSetMicroMips(), llvm::MipsTargetELFStreamer::emitDirectiveSetMicroMips(), emitDirectiveSetMips0(), emitDirectiveSetMips1(), llvm::MipsTargetAsmStreamer::emitDirectiveSetMips16(), llvm::MipsTargetELFStreamer::emitDirectiveSetMips16(), emitDirectiveSetMips2(), emitDirectiveSetMips3(), emitDirectiveSetMips32(), emitDirectiveSetMips32R2(), emitDirectiveSetMips32R3(), emitDirectiveSetMips32R5(), emitDirectiveSetMips32R6(), emitDirectiveSetMips4(), emitDirectiveSetMips5(), emitDirectiveSetMips64(), emitDirectiveSetMips64R2(), emitDirectiveSetMips64R3(), emitDirectiveSetMips64R5(), emitDirectiveSetMips64R6(), emitDirectiveSetMsa(), emitDirectiveSetNoAt(), emitDirectiveSetNoDsp(), emitDirectiveSetNoMacro(), llvm::MipsTargetAsmStreamer::emitDirectiveSetNoMicroMips(), llvm::MipsTargetELFStreamer::emitDirectiveSetNoMicroMips(), emitDirectiveSetNoMips16(), emitDirectiveSetNoMsa(), emitDirectiveSetNoMt(), emitDirectiveSetNoOddSPReg(), llvm::MipsTargetAsmStreamer::emitDirectiveSetNoReorder(), llvm::MipsTargetELFStreamer::emitDirectiveSetNoReorder(), emitDirectiveSetOddSPReg(), emitDirectiveSetPop(), emitDirectiveSetPush(), emitDirectiveSetReorder(), emitDirectiveSetSoftFloat(), and llvm::MipsAsmPrinter::EmitInstruction().

◆ getABI()

const MipsABIInfo& llvm::MipsTargetStreamer::getABI ( ) const
inline

◆ getABIFlagsSection()

MipsABIFlagsSection& llvm::MipsTargetStreamer::getABIFlagsSection ( )
inline

Definition at line 182 of file MipsTargetStreamer.h.

References ABIFlagsSection.

◆ isModuleDirectiveAllowed()

bool llvm::MipsTargetStreamer::isModuleDirectiveAllowed ( )
inline

Definition at line 172 of file MipsTargetStreamer.h.

◆ reallowModuleDirective()

void llvm::MipsTargetStreamer::reallowModuleDirective ( )
inline

Definition at line 171 of file MipsTargetStreamer.h.

◆ setPic()

virtual void llvm::MipsTargetStreamer::setPic ( bool  Value)
inlinevirtual

Reimplemented in llvm::MipsTargetELFStreamer.

Definition at line 29 of file MipsTargetStreamer.h.

References emitAddu(), emitDirectiveAbiCalls(), emitDirectiveCpLoad(), emitDirectiveCpRestore(), emitDirectiveCpreturn(), emitDirectiveCpsetup(), emitDirectiveEnd(), emitDirectiveEnt(), emitDirectiveInsn(), emitDirectiveModuleCRC(), emitDirectiveModuleFP(), emitDirectiveModuleGINV(), emitDirectiveModuleHardFloat(), emitDirectiveModuleMT(), emitDirectiveModuleNoCRC(), emitDirectiveModuleNoGINV(), emitDirectiveModuleNoVirt(), emitDirectiveModuleOddSPReg(), emitDirectiveModuleSoftFloat(), emitDirectiveModuleVirt(), emitDirectiveNaN2008(), emitDirectiveNaNLegacy(), emitDirectiveOptionPic0(), emitDirectiveOptionPic2(), emitDirectiveSetArch(), emitDirectiveSetAt(), emitDirectiveSetAtWithArg(), emitDirectiveSetCRC(), emitDirectiveSetDsp(), emitDirectiveSetDspr2(), emitDirectiveSetFp(), emitDirectiveSetGINV(), emitDirectiveSetHardFloat(), emitDirectiveSetMacro(), emitDirectiveSetMicroMips(), emitDirectiveSetMips0(), emitDirectiveSetMips1(), emitDirectiveSetMips16(), emitDirectiveSetMips2(), emitDirectiveSetMips3(), emitDirectiveSetMips32(), emitDirectiveSetMips32R2(), emitDirectiveSetMips32R3(), emitDirectiveSetMips32R5(), emitDirectiveSetMips32R6(), emitDirectiveSetMips4(), emitDirectiveSetMips5(), emitDirectiveSetMips64(), emitDirectiveSetMips64R2(), emitDirectiveSetMips64R3(), emitDirectiveSetMips64R5(), emitDirectiveSetMips64R6(), emitDirectiveSetMsa(), emitDirectiveSetMt(), emitDirectiveSetNoAt(), emitDirectiveSetNoCRC(), emitDirectiveSetNoDsp(), emitDirectiveSetNoGINV(), emitDirectiveSetNoMacro(), emitDirectiveSetNoMicroMips(), emitDirectiveSetNoMips16(), emitDirectiveSetNoMsa(), emitDirectiveSetNoMt(), emitDirectiveSetNoOddSPReg(), emitDirectiveSetNoReorder(), emitDirectiveSetNoVirt(), emitDirectiveSetOddSPReg(), emitDirectiveSetPop(), emitDirectiveSetPush(), emitDirectiveSetReorder(), emitDirectiveSetSoftFloat(), emitDirectiveSetVirt(), emitDSLL(), emitEmptyDelaySlot(), emitFMask(), emitFrame(), emitGPRestore(), emitII(), emitLoadWithImmOffset(), emitLoadWithSymOffset(), emitMask(), emitNop(), emitR(), emitRI(), emitRR(), emitRRI(), emitRRIII(), emitRRR(), emitRRX(), emitRX(), emitStoreWithImmOffset(), emitStoreWithSymOffset(), hasShortDelaySlot(), Name, ReturnReg, setUsesMicroMips(), and llvm::ARMBuildAttrs::Symbol.

Referenced by llvm::MipsAsmPrinter::EmitStartOfAsmFile().

◆ setUsesMicroMips()

void MipsTargetStreamer::setUsesMicroMips ( )
virtual

◆ updateABIInfo()

template<class PredicateLibrary >
void llvm::MipsTargetStreamer::updateABIInfo ( const PredicateLibrary &  P)
inline

Member Data Documentation

◆ ABI

llvm::Optional<MipsABIInfo> llvm::MipsTargetStreamer::ABI
protected

◆ ABIFlagsSection

MipsABIFlagsSection llvm::MipsTargetStreamer::ABIFlagsSection
protected

◆ FPRBitMask

unsigned llvm::MipsTargetStreamer::FPRBitMask
protected

◆ FPRInfoSet

bool llvm::MipsTargetStreamer::FPRInfoSet
protected

◆ FPROffset

int llvm::MipsTargetStreamer::FPROffset
protected

◆ FrameInfoSet

bool llvm::MipsTargetStreamer::FrameInfoSet
protected

◆ FrameOffset

int llvm::MipsTargetStreamer::FrameOffset
protected

◆ FrameReg

unsigned llvm::MipsTargetStreamer::FrameReg
protected

◆ GPRBitMask

unsigned llvm::MipsTargetStreamer::GPRBitMask
protected

◆ GPRInfoSet

bool llvm::MipsTargetStreamer::GPRInfoSet
protected

◆ GPROffset

int llvm::MipsTargetStreamer::GPROffset
protected

◆ ReturnReg

unsigned llvm::MipsTargetStreamer::ReturnReg
protected

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