LLVM 22.0.0git
llvm::ARMTargetStreamer Class Reference

#include "llvm/MC/MCStreamer.h"

Inheritance diagram for llvm::ARMTargetStreamer:
[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 (MCRegister FpReg, MCRegister SpReg, int64_t Offset=0)
virtual void emitMovSP (MCRegister Reg, int64_t Offset=0)
virtual void emitPad (int64_t Offset)
virtual void emitRegSave (const SmallVectorImpl< MCRegister > &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 emitSyntaxUnified ()
virtual void emitCode16 ()
virtual void emitCode32 ()
virtual void emitThumbFunc (MCSymbol *Symbol)
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 ()
MCContextgetContext ()
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, uint32_t 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 finish ()

Additional Inherited Members

Protected Attributes inherited from llvm::MCTargetStreamer
MCStreamerStreamer

Detailed Description

Definition at line 136 of file MCStreamer.h.

Constructor & Destructor Documentation

◆ ARMTargetStreamer()

ARMTargetStreamer::ARMTargetStreamer ( MCStreamer & S)

Definition at line 28 of file ARMTargetStreamer.cpp.

References llvm::MCTargetStreamer::MCTargetStreamer().

◆ ~ARMTargetStreamer()

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.

Referenced by ~ARMTargetStreamer().

◆ annotateTLSDescriptorSequence()

void ARMTargetStreamer::annotateTLSDescriptorSequence ( const MCSymbolRefExpr * SRE)
virtual

Definition at line 116 of file ARMTargetStreamer.cpp.

Referenced by ~ARMTargetStreamer().

◆ emitArch()

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

Definition at line 111 of file ARMTargetStreamer.cpp.

Referenced by ~ARMTargetStreamer().

◆ emitArchExtension()

void ARMTargetStreamer::emitArchExtension ( uint64_t ArchExt)
virtual

Definition at line 112 of file ARMTargetStreamer.cpp.

Referenced by emitTargetAttributes(), and ~ARMTargetStreamer().

◆ emitARMWinCFIAllocStack()

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

Definition at line 124 of file ARMTargetStreamer.cpp.

References Size.

Referenced by llvm::ARMAsmPrinter::emitInstruction(), and ~ARMTargetStreamer().

◆ emitARMWinCFICustom()

void ARMTargetStreamer::emitARMWinCFICustom ( unsigned Opcode)
virtual

Definition at line 133 of file ARMTargetStreamer.cpp.

Referenced by ~ARMTargetStreamer().

◆ emitARMWinCFIEpilogEnd()

void ARMTargetStreamer::emitARMWinCFIEpilogEnd ( )
virtual

◆ emitARMWinCFIEpilogStart()

void ARMTargetStreamer::emitARMWinCFIEpilogStart ( unsigned Condition)
virtual

◆ emitARMWinCFINop()

void ARMTargetStreamer::emitARMWinCFINop ( bool Wide)
virtual

◆ emitARMWinCFIPrologEnd()

void ARMTargetStreamer::emitARMWinCFIPrologEnd ( bool Fragment)
virtual

◆ emitARMWinCFISaveFRegs()

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

Definition at line 127 of file ARMTargetStreamer.cpp.

References llvm::First, and llvm::Last.

Referenced by llvm::ARMAsmPrinter::emitInstruction(), and ~ARMTargetStreamer().

◆ emitARMWinCFISaveLR()

void ARMTargetStreamer::emitARMWinCFISaveLR ( unsigned Offset)
virtual

Definition at line 128 of file ARMTargetStreamer.cpp.

References llvm::Offset.

Referenced by llvm::ARMAsmPrinter::emitInstruction(), and ~ARMTargetStreamer().

◆ emitARMWinCFISaveRegMask()

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

◆ emitARMWinCFISaveSP()

void ARMTargetStreamer::emitARMWinCFISaveSP ( unsigned Reg)
virtual

◆ 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(), and ~ARMTargetStreamer().

◆ emitCode16()

void ARMTargetStreamer::emitCode16 ( )
virtual

◆ emitCode32()

void ARMTargetStreamer::emitCode32 ( )
virtual

Definition at line 120 of file ARMTargetStreamer.cpp.

Referenced by ~ARMTargetStreamer().

◆ emitConstantPools()

void ARMTargetStreamer::emitConstantPools ( )
overridevirtual

Reimplemented from llvm::MCTargetStreamer.

Definition at line 45 of file ARMTargetStreamer.cpp.

References llvm::MCTargetStreamer::Streamer.

Referenced by ~ARMTargetStreamer().

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

Referenced by ~ARMTargetStreamer().

◆ emitFnEnd()

void ARMTargetStreamer::emitFnEnd ( )
virtual

Definition at line 90 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMException::endFunction(), and ~ARMTargetStreamer().

◆ emitFnStart()

void ARMTargetStreamer::emitFnStart ( )
virtual

Definition at line 89 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMException::beginFunction(), and ~ARMTargetStreamer().

◆ emitFPU()

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

Definition at line 114 of file ARMTargetStreamer.cpp.

Referenced by emitTargetAttributes(), and ~ARMTargetStreamer().

◆ emitHandlerData()

void ARMTargetStreamer::emitHandlerData ( )
virtual

Definition at line 94 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMException::endFunction(), and ~ARMTargetStreamer().

◆ emitInst()

◆ emitIntTextAttribute()

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

Definition at line 108 of file ARMTargetStreamer.cpp.

Referenced by ~ARMTargetStreamer().

◆ emitMovSP()

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

Definition at line 97 of file ARMTargetStreamer.cpp.

References llvm::Offset.

Referenced by ~ARMTargetStreamer().

◆ emitObjectArch()

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

Definition at line 113 of file ARMTargetStreamer.cpp.

Referenced by ~ARMTargetStreamer().

◆ emitPad()

void ARMTargetStreamer::emitPad ( int64_t Offset)
virtual

Definition at line 98 of file ARMTargetStreamer.cpp.

References llvm::Offset.

Referenced by ~ARMTargetStreamer().

◆ emitPersonality()

void ARMTargetStreamer::emitPersonality ( const MCSymbol * Personality)
virtual

Definition at line 92 of file ARMTargetStreamer.cpp.

Referenced by llvm::ARMException::endFunction(), and ~ARMTargetStreamer().

◆ emitPersonalityIndex()

void ARMTargetStreamer::emitPersonalityIndex ( unsigned Index)
virtual

Definition at line 93 of file ARMTargetStreamer.cpp.

Referenced by ~ARMTargetStreamer().

◆ emitRegSave()

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

Definition at line 99 of file ARMTargetStreamer.cpp.

Referenced by ~ARMTargetStreamer().

◆ emitSetFP()

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

Definition at line 95 of file ARMTargetStreamer.cpp.

References llvm::Offset.

Referenced by ~ARMTargetStreamer().

◆ emitSyntaxUnified()

void ARMTargetStreamer::emitSyntaxUnified ( )
virtual

◆ emitTargetAttributes()

void ARMTargetStreamer::emitTargetAttributes ( const MCSubtargetInfo & STI)

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

Definition at line 180 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_MVE, 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.

Referenced by ~ARMTargetStreamer().

◆ emitTextAttribute()

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

Definition at line 106 of file ARMTargetStreamer.cpp.

References llvm::String.

Referenced by emitTargetAttributes(), and ~ARMTargetStreamer().

◆ emitThumbFunc()

void ARMTargetStreamer::emitThumbFunc ( MCSymbol * Symbol)
virtual

Definition at line 121 of file ARMTargetStreamer.cpp.

Referenced by ~ARMTargetStreamer().

◆ emitThumbSet()

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

Definition at line 122 of file ARMTargetStreamer.cpp.

Referenced by ~ARMTargetStreamer().

◆ emitUnwindRaw()

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

Definition at line 101 of file ARMTargetStreamer.cpp.

Referenced by ~ARMTargetStreamer().

◆ finishAttributeSection()

void ARMTargetStreamer::finishAttributeSection ( )
virtual

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

Referenced by ~ARMTargetStreamer().

◆ switchVendor()

void ARMTargetStreamer::switchVendor ( StringRef Vendor)
virtual

Definition at line 104 of file ARMTargetStreamer.cpp.

Referenced by emitTargetAttributes(), and ~ARMTargetStreamer().


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