LLVM 19.0.0git
Public Member Functions | List of all members
llvm::ARMTargetStreamer Class Reference

#include "llvm/MC/MCStreamer.h"

Inheritance diagram for llvm::ARMTargetStreamer:
Inheritance graph
[legend]

Public Member Functions

 ARMTargetStreamer (MCStreamer &S)
 
 ~ARMTargetStreamer () override
 
virtual void emitFnStart ()
 
virtual void emitFnEnd ()
 
virtual void emitCantUnwind ()
 
virtual void emitPersonality (const MCSymbol *Personality)
 
virtual void emitPersonalityIndex (unsigned Index)
 
virtual void emitHandlerData ()
 
virtual void emitSetFP (unsigned FpReg, unsigned SpReg, int64_t Offset=0)
 
virtual void emitMovSP (unsigned Reg, int64_t Offset=0)
 
virtual void emitPad (int64_t Offset)
 
virtual void emitRegSave (const SmallVectorImpl< unsigned > &RegList, bool isVector)
 
virtual void emitUnwindRaw (int64_t StackOffset, const SmallVectorImpl< uint8_t > &Opcodes)
 
virtual void switchVendor (StringRef Vendor)
 
virtual void emitAttribute (unsigned Attribute, unsigned Value)
 
virtual void emitTextAttribute (unsigned Attribute, StringRef String)
 
virtual void emitIntTextAttribute (unsigned Attribute, unsigned IntValue, StringRef StringValue="")
 
virtual void emitFPU (ARM::FPUKind FPU)
 
virtual void emitArch (ARM::ArchKind Arch)
 
virtual void emitArchExtension (uint64_t ArchExt)
 
virtual void emitObjectArch (ARM::ArchKind Arch)
 
void emitTargetAttributes (const MCSubtargetInfo &STI)
 Emit the build attributes that only depend on the hardware that we expect.
 
virtual void finishAttributeSection ()
 
virtual void emitInst (uint32_t Inst, char Suffix='\0')
 
virtual void annotateTLSDescriptorSequence (const MCSymbolRefExpr *SRE)
 
virtual void emitThumbSet (MCSymbol *Symbol, const MCExpr *Value)
 
void emitConstantPools () override
 
virtual void emitARMWinCFIAllocStack (unsigned Size, bool Wide)
 
virtual void emitARMWinCFISaveRegMask (unsigned Mask, bool Wide)
 
virtual void emitARMWinCFISaveSP (unsigned Reg)
 
virtual void emitARMWinCFISaveFRegs (unsigned First, unsigned Last)
 
virtual void emitARMWinCFISaveLR (unsigned Offset)
 
virtual void emitARMWinCFIPrologEnd (bool Fragment)
 
virtual void emitARMWinCFINop (bool Wide)
 
virtual void emitARMWinCFIEpilogStart (unsigned Condition)
 
virtual void emitARMWinCFIEpilogEnd ()
 
virtual void emitARMWinCFICustom (unsigned Opcode)
 
virtual void reset ()
 Reset any state between object emissions, i.e.
 
const MCExpraddConstantPoolEntry (const MCExpr *, SMLoc Loc)
 Callback used to implement the ldr= pseudo.
 
void emitCurrentConstantPool ()
 Callback used to implement the .ltorg directive.
 
- 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 ()
 

Additional Inherited Members

- Protected Attributes inherited from llvm::MCTargetStreamer
MCStreamerStreamer
 

Detailed Description

Definition at line 135 of file MCStreamer.h.

Constructor & Destructor Documentation

◆ ARMTargetStreamer()

ARMTargetStreamer::ARMTargetStreamer ( MCStreamer S)

Definition at line 28 of file ARMTargetStreamer.cpp.

◆ ~ARMTargetStreamer()

ARMTargetStreamer::~ARMTargetStreamer ( )
overridedefault

Member Function Documentation

◆ addConstantPoolEntry()

const MCExpr * ARMTargetStreamer::addConstantPoolEntry ( const MCExpr Expr,
SMLoc  Loc 
)

Callback used to implement the ldr= pseudo.

Add a new entry to the constant pool for the current section and return an MCExpr that can be used to refer to the constant pool location.

Definition at line 35 of file ARMTargetStreamer.cpp.

References llvm::MCTargetStreamer::Streamer.

◆ annotateTLSDescriptorSequence()

void ARMTargetStreamer::annotateTLSDescriptorSequence ( const MCSymbolRefExpr SRE)
virtual

Definition at line 116 of file ARMTargetStreamer.cpp.

◆ emitArch()

void ARMTargetStreamer::emitArch ( ARM::ArchKind  Arch)
virtual

Definition at line 111 of file ARMTargetStreamer.cpp.

◆ emitArchExtension()

void ARMTargetStreamer::emitArchExtension ( uint64_t  ArchExt)
virtual

Definition at line 112 of file ARMTargetStreamer.cpp.

Referenced by emitTargetAttributes().

◆ emitARMWinCFIAllocStack()

void ARMTargetStreamer::emitARMWinCFIAllocStack ( unsigned  Size,
bool  Wide 
)
virtual

Definition at line 120 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMAsmPrinter::emitInstruction().

◆ emitARMWinCFICustom()

void ARMTargetStreamer::emitARMWinCFICustom ( unsigned  Opcode)
virtual

Definition at line 129 of file ARMTargetStreamer.cpp.

◆ emitARMWinCFIEpilogEnd()

void ARMTargetStreamer::emitARMWinCFIEpilogEnd ( )
virtual

Definition at line 128 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMAsmPrinter::emitInstruction().

◆ emitARMWinCFIEpilogStart()

void ARMTargetStreamer::emitARMWinCFIEpilogStart ( unsigned  Condition)
virtual

Definition at line 127 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMAsmPrinter::emitInstruction().

◆ emitARMWinCFINop()

void ARMTargetStreamer::emitARMWinCFINop ( bool  Wide)
virtual

Definition at line 125 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMAsmPrinter::emitInstruction().

◆ emitARMWinCFIPrologEnd()

void ARMTargetStreamer::emitARMWinCFIPrologEnd ( bool  Fragment)
virtual

Definition at line 126 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMAsmPrinter::emitInstruction().

◆ emitARMWinCFISaveFRegs()

void ARMTargetStreamer::emitARMWinCFISaveFRegs ( unsigned  First,
unsigned  Last 
)
virtual

Definition at line 123 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMAsmPrinter::emitInstruction().

◆ emitARMWinCFISaveLR()

void ARMTargetStreamer::emitARMWinCFISaveLR ( unsigned  Offset)
virtual

Definition at line 124 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMAsmPrinter::emitInstruction().

◆ emitARMWinCFISaveRegMask()

void ARMTargetStreamer::emitARMWinCFISaveRegMask ( unsigned  Mask,
bool  Wide 
)
virtual

Definition at line 121 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMAsmPrinter::emitInstruction().

◆ emitARMWinCFISaveSP()

void ARMTargetStreamer::emitARMWinCFISaveSP ( unsigned  Reg)
virtual

Definition at line 122 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMAsmPrinter::emitInstruction().

◆ emitAttribute()

void ARMTargetStreamer::emitAttribute ( unsigned  Attribute,
unsigned  Value 
)
virtual

◆ emitCantUnwind()

void ARMTargetStreamer::emitCantUnwind ( )
virtual

Definition at line 91 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMException::endFunction().

◆ emitConstantPools()

void ARMTargetStreamer::emitConstantPools ( )
overridevirtual

Reimplemented from llvm::MCTargetStreamer.

Definition at line 45 of file ARMTargetStreamer.cpp.

References llvm::MCTargetStreamer::Streamer.

◆ emitCurrentConstantPool()

void ARMTargetStreamer::emitCurrentConstantPool ( )

Callback used to implement the .ltorg directive.

Emit contents of constant pool for the current section.

Definition at line 39 of file ARMTargetStreamer.cpp.

References llvm::MCTargetStreamer::Streamer.

◆ emitFnEnd()

void ARMTargetStreamer::emitFnEnd ( )
virtual

Definition at line 90 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMException::endFunction().

◆ emitFnStart()

void ARMTargetStreamer::emitFnStart ( )
virtual

Definition at line 89 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMException::beginFunction().

◆ emitFPU()

void ARMTargetStreamer::emitFPU ( ARM::FPUKind  FPU)
virtual

Definition at line 114 of file ARMTargetStreamer.cpp.

Referenced by emitTargetAttributes().

◆ emitHandlerData()

void ARMTargetStreamer::emitHandlerData ( )
virtual

Definition at line 94 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMException::endFunction().

◆ emitInst()

void ARMTargetStreamer::emitInst ( uint32_t  Inst,
char  Suffix = '\0' 
)
virtual

◆ emitIntTextAttribute()

void ARMTargetStreamer::emitIntTextAttribute ( unsigned  Attribute,
unsigned  IntValue,
StringRef  StringValue = "" 
)
virtual

Definition at line 108 of file ARMTargetStreamer.cpp.

◆ emitMovSP()

void ARMTargetStreamer::emitMovSP ( unsigned  Reg,
int64_t  Offset = 0 
)
virtual

Definition at line 97 of file ARMTargetStreamer.cpp.

◆ emitObjectArch()

void ARMTargetStreamer::emitObjectArch ( ARM::ArchKind  Arch)
virtual

Definition at line 113 of file ARMTargetStreamer.cpp.

◆ emitPad()

void ARMTargetStreamer::emitPad ( int64_t  Offset)
virtual

Definition at line 98 of file ARMTargetStreamer.cpp.

◆ emitPersonality()

void ARMTargetStreamer::emitPersonality ( const MCSymbol Personality)
virtual

Definition at line 92 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMException::endFunction().

◆ emitPersonalityIndex()

void ARMTargetStreamer::emitPersonalityIndex ( unsigned  Index)
virtual

Definition at line 93 of file ARMTargetStreamer.cpp.

◆ emitRegSave()

void ARMTargetStreamer::emitRegSave ( const SmallVectorImpl< unsigned > &  RegList,
bool  isVector 
)
virtual

Definition at line 99 of file ARMTargetStreamer.cpp.

◆ emitSetFP()

void ARMTargetStreamer::emitSetFP ( unsigned  FpReg,
unsigned  SpReg,
int64_t  Offset = 0 
)
virtual

Definition at line 95 of file ARMTargetStreamer.cpp.

◆ emitTargetAttributes()

void ARMTargetStreamer::emitTargetAttributes ( const MCSubtargetInfo STI)

Emit the build attributes that only depend on the hardware that we expect.

Definition at line 176 of file ARMTargetStreamer.cpp.

References llvm::ARMBuildAttrs::ABI_HardFP_use, llvm::ARMBuildAttrs::Advanced_SIMD_arch, llvm::ARM::AEK_DSP, llvm::ARM::AEK_FP, llvm::ARM::AEK_HWDIVARM, llvm::ARM::AEK_HWDIVTHUMB, llvm::ARM::AEK_SIMD, llvm::ARMBuildAttrs::AllowBTI, llvm::ARMBuildAttrs::AllowDIVExt, llvm::ARMBuildAttrs::Allowed, llvm::ARMBuildAttrs::AllowHPFP, llvm::ARMBuildAttrs::AllowMP, llvm::ARMBuildAttrs::AllowMVEInteger, llvm::ARMBuildAttrs::AllowMVEIntegerAndFloat, llvm::ARMBuildAttrs::AllowNeonARMv8, llvm::ARMBuildAttrs::AllowNeonARMv8_1a, llvm::ARMBuildAttrs::AllowPAC, llvm::ARMBuildAttrs::AllowThumb32, llvm::ARMBuildAttrs::AllowThumbDerived, llvm::ARMBuildAttrs::AllowTZ, llvm::ARMBuildAttrs::AllowTZVirtualization, llvm::ARMBuildAttrs::AllowVirtualization, llvm::ARMBuildAttrs::ApplicationProfile, llvm::ARMBuildAttrs::ARM_ISA_use, llvm::ARMBuildAttrs::BTI_extension, llvm::ARMBuildAttrs::CPU_arch, llvm::ARMBuildAttrs::CPU_arch_profile, llvm::ARMBuildAttrs::CPU_name, llvm::ARMBuildAttrs::CPU_unaligned_access, llvm::ARMBuildAttrs::DIV_use, llvm::ARMBuildAttrs::DSP_extension, emitArchExtension(), emitAttribute(), emitFPU(), emitTextAttribute(), llvm::StringRef::empty(), llvm::ARMBuildAttrs::FP_HP_extension, getArchForCPU(), llvm::MCSubtargetInfo::getCPU(), llvm::ARMBuildAttrs::HardFPSinglePrecision, llvm::MCSubtargetInfo::hasFeature(), isV8M(), llvm::ARMBuildAttrs::MicroControllerProfile, llvm::ARMBuildAttrs::MPextension_use, llvm::ARMBuildAttrs::MVE_arch, llvm::ARMBuildAttrs::Not_Allowed, llvm::ARMBuildAttrs::PAC_extension, llvm::ARMBuildAttrs::RealTimeProfile, llvm::StringRef::starts_with(), switchVendor(), llvm::ARMBuildAttrs::THUMB_ISA_use, and llvm::ARMBuildAttrs::Virtualization_use.

◆ emitTextAttribute()

void ARMTargetStreamer::emitTextAttribute ( unsigned  Attribute,
StringRef  String 
)
virtual

Definition at line 106 of file ARMTargetStreamer.cpp.

Referenced by emitTargetAttributes().

◆ emitThumbSet()

void ARMTargetStreamer::emitThumbSet ( MCSymbol Symbol,
const MCExpr Value 
)
virtual

Definition at line 118 of file ARMTargetStreamer.cpp.

◆ emitUnwindRaw()

void ARMTargetStreamer::emitUnwindRaw ( int64_t  StackOffset,
const SmallVectorImpl< uint8_t > &  Opcodes 
)
virtual

Definition at line 101 of file ARMTargetStreamer.cpp.

◆ finishAttributeSection()

void ARMTargetStreamer::finishAttributeSection ( )
virtual

Definition at line 115 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMAsmPrinter::emitEndOfAsmFile().

◆ reset()

void ARMTargetStreamer::reset ( )
virtual

Reset any state between object emissions, i.e.

the equivalent of MCStreamer's reset method.

Definition at line 50 of file ARMTargetStreamer.cpp.

◆ switchVendor()

void ARMTargetStreamer::switchVendor ( StringRef  Vendor)
virtual

Definition at line 104 of file ARMTargetStreamer.cpp.

Referenced by emitTargetAttributes().


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