LLVM 19.0.0git
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]

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 emitDirectiveSetMips3D ()
 
virtual void emitDirectiveSetNoMips3D ()
 
virtual void emitDirectiveSetPop ()
 
virtual void emitDirectiveSetPush ()
 
virtual void emitDirectiveSetSoftFloat ()
 
virtual void emitDirectiveSetHardFloat ()
 
virtual void emitDirectiveCpAdd (unsigned RegNo)
 
virtual void emitDirectiveCpLoad (unsigned RegNo)
 
virtual void emitDirectiveCpLocal (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 emitRRRX (unsigned Opcode, unsigned Reg0, unsigned Reg1, unsigned Reg2, MCOperand Op3, 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.
 
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.
 
void emitGPRestore (int Offset, SMLoc IDLoc, const MCSubtargetInfo *STI)
 Emit the $gp restore operation for .cprestore.
 
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, uint64_t Address, const MCInst &Inst, const MCSubtargetInfo &STI, raw_ostream &OS)
 
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.
 
virtual void emitValue (const MCExpr *Value)
 
virtual void emitRawBytes (StringRef Data)
 Emit the bytes in Data into the output.
 
virtual void emitConstantPools ()
 
virtual void finish ()
 

Protected Attributes

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

Detailed Description

Definition at line 23 of file MipsTargetStreamer.h.

Constructor & Destructor Documentation

◆ MipsTargetStreamer()

MipsTargetStreamer::MipsTargetStreamer ( MCStreamer S)

Definition at line 47 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 266 of file MipsTargetStreamer.cpp.

References emitRRR().

Referenced by llvm::MipsTargetELFStreamer::emitDirectiveCpAdd().

◆ emitDirectiveAbiCalls()

void MipsTargetStreamer::emitDirectiveAbiCalls ( )
virtual

◆ emitDirectiveCpAdd()

void MipsTargetStreamer::emitDirectiveCpAdd ( unsigned  RegNo)
virtual

Reimplemented in llvm::MipsTargetAsmStreamer, and llvm::MipsTargetELFStreamer.

Definition at line 120 of file MipsTargetStreamer.cpp.

◆ emitDirectiveCpLoad()

void MipsTargetStreamer::emitDirectiveCpLoad ( unsigned  RegNo)
virtual

Reimplemented in llvm::MipsTargetAsmStreamer, and llvm::MipsTargetELFStreamer.

Definition at line 121 of file MipsTargetStreamer.cpp.

◆ emitDirectiveCpLocal()

void MipsTargetStreamer::emitDirectiveCpLocal ( 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

Reimplemented in llvm::MipsTargetAsmStreamer, and llvm::MipsTargetELFStreamer.

Definition at line 148 of file MipsTargetStreamer.cpp.

◆ emitDirectiveCpsetup()

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

Reimplemented in llvm::MipsTargetAsmStreamer, and llvm::MipsTargetELFStreamer.

Definition at line 145 of file MipsTargetStreamer.cpp.

◆ 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 160 of file MipsTargetStreamer.cpp.

◆ emitDirectiveModuleFP()

void MipsTargetStreamer::emitDirectiveModuleFP ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 151 of file MipsTargetStreamer.cpp.

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

◆ emitDirectiveModuleGINV()

void MipsTargetStreamer::emitDirectiveModuleGINV ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 164 of file MipsTargetStreamer.cpp.

◆ emitDirectiveModuleHardFloat()

void MipsTargetStreamer::emitDirectiveModuleHardFloat ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 158 of file MipsTargetStreamer.cpp.

◆ emitDirectiveModuleMT()

void MipsTargetStreamer::emitDirectiveModuleMT ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 159 of file MipsTargetStreamer.cpp.

◆ emitDirectiveModuleNoCRC()

void MipsTargetStreamer::emitDirectiveModuleNoCRC ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 161 of file MipsTargetStreamer.cpp.

◆ emitDirectiveModuleNoGINV()

void MipsTargetStreamer::emitDirectiveModuleNoGINV ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 165 of file MipsTargetStreamer.cpp.

◆ emitDirectiveModuleNoVirt()

void MipsTargetStreamer::emitDirectiveModuleNoVirt ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 163 of file MipsTargetStreamer.cpp.

◆ emitDirectiveModuleOddSPReg()

void MipsTargetStreamer::emitDirectiveModuleOddSPReg ( )
virtual

◆ emitDirectiveModuleSoftFloat()

void MipsTargetStreamer::emitDirectiveModuleSoftFloat ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 157 of file MipsTargetStreamer.cpp.

◆ emitDirectiveModuleVirt()

void MipsTargetStreamer::emitDirectiveModuleVirt ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer.

Definition at line 162 of file MipsTargetStreamer.cpp.

◆ emitDirectiveNaN2008()

void MipsTargetStreamer::emitDirectiveNaN2008 ( )
virtual

◆ emitDirectiveNaNLegacy()

void MipsTargetStreamer::emitDirectiveNaNLegacy ( )
virtual

◆ emitDirectiveOptionPic0()

void MipsTargetStreamer::emitDirectiveOptionPic0 ( )
virtual

◆ emitDirectiveOptionPic2()

void MipsTargetStreamer::emitDirectiveOptionPic2 ( )
virtual

Reimplemented in llvm::MipsTargetAsmStreamer, and llvm::MipsTargetELFStreamer.

Definition at line 81 of file MipsTargetStreamer.cpp.

◆ 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

◆ emitDirectiveSetMips3D()

void MipsTargetStreamer::emitDirectiveSetMips3D ( )
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

◆ 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

◆ emitDirectiveSetNoMips3D()

void MipsTargetStreamer::emitDirectiveSetNoMips3D ( )
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 273 of file MipsTargetStreamer.cpp.

References emitRRI().

◆ emitEmptyDelaySlot()

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

◆ 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 308 of file MipsTargetStreamer.cpp.

References emitLoadWithImmOffset(), GPReg, and llvm::Offset.

◆ 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 351 of file MipsTargetStreamer.cpp.

References emitRI(), emitRRI(), emitRRR(), and llvm::Offset.

Referenced by emitGPRestore().

◆ emitMask()

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

◆ emitNop()

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

Definition at line 300 of file MipsTargetStreamer.cpp.

References emitRR(), emitRRI(), and isMicroMips().

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

Definition at line 194 of file MipsTargetStreamer.cpp.

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

Referenced by emitLoadWithImmOffset(), and emitStoreWithImmOffset().

◆ emitRR()

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

Definition at line 199 of file MipsTargetStreamer.cpp.

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

Referenced by emitEmptyDelaySlot(), and emitNop().

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

◆ emitRRRX()

void MipsTargetStreamer::emitRRRX ( unsigned  Opcode,
unsigned  Reg0,
unsigned  Reg1,
unsigned  Reg2,
MCOperand  Op3,
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 314 of file MipsTargetStreamer.cpp.

References emitRI(), emitRRI(), emitRRR(), and llvm::Offset.

Referenced by llvm::MipsTargetELFStreamer::emitDirectiveCpRestore().

◆ forbidModuleDirective()

void llvm::MipsTargetStreamer::forbidModuleDirective ( )
inline

Definition at line 166 of file MipsTargetStreamer.h.

Referenced by llvm::MipsTargetAsmStreamer::emitDirectiveCpAdd(), llvm::MipsTargetELFStreamer::emitDirectiveCpAdd(), llvm::MipsTargetAsmStreamer::emitDirectiveCpLoad(), llvm::MipsTargetELFStreamer::emitDirectiveCpLoad(), emitDirectiveCpLocal(), 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(), emitDirectiveSetMips3D(), emitDirectiveSetMips4(), emitDirectiveSetMips5(), emitDirectiveSetMips64(), emitDirectiveSetMips64R2(), emitDirectiveSetMips64R3(), emitDirectiveSetMips64R5(), emitDirectiveSetMips64R6(), emitDirectiveSetMsa(), emitDirectiveSetNoAt(), emitDirectiveSetNoDsp(), emitDirectiveSetNoMacro(), llvm::MipsTargetAsmStreamer::emitDirectiveSetNoMicroMips(), llvm::MipsTargetELFStreamer::emitDirectiveSetNoMicroMips(), emitDirectiveSetNoMips16(), emitDirectiveSetNoMips3D(), 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 178 of file MipsTargetStreamer.h.

References ABIFlagsSection.

◆ isModuleDirectiveAllowed()

bool llvm::MipsTargetStreamer::isModuleDirectiveAllowed ( )
inline

Definition at line 168 of file MipsTargetStreamer.h.

◆ reallowModuleDirective()

void llvm::MipsTargetStreamer::reallowModuleDirective ( )
inline

Definition at line 167 of file MipsTargetStreamer.h.

◆ setPic()

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

Reimplemented in llvm::MipsTargetELFStreamer.

Definition at line 27 of file MipsTargetStreamer.h.

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

◆ setUsesMicroMips()

void MipsTargetStreamer::setUsesMicroMips ( )
virtual

Reimplemented in llvm::MipsTargetELFStreamer.

Definition at line 53 of file MipsTargetStreamer.cpp.

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

◆ updateABIInfo()

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

Member Data Documentation

◆ ABI

std::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

◆ GPReg

unsigned llvm::MipsTargetStreamer::GPReg
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: