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

#include "llvm/MC/MCStreamer.h"

Inheritance diagram for llvm::ARMTargetStreamer:
Inheritance graph
[legend]
Collaboration diagram for llvm::ARMTargetStreamer:
Collaboration 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 (unsigned FPU)
 
virtual void emitArch (ARM::ArchKind Arch)
 
virtual void emitArchExtension (unsigned 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. More...
 
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 finish () override
 
virtual void reset ()
 Reset any state between object emissions, i.e. More...
 
const MCExpraddConstantPoolEntry (const MCExpr *, SMLoc Loc)
 Callback used to implement the ldr= pseudo. More...
 
void emitCurrentConstantPool ()
 Callback used to implemnt the .ltorg directive. More...
 
- 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...
 

Additional Inherited Members

- Protected Attributes inherited from llvm::MCTargetStreamer
MCStreamerStreamer
 

Detailed Description

Definition at line 123 of file MCStreamer.h.

Constructor & Destructor Documentation

◆ ARMTargetStreamer()

ARMTargetStreamer::ARMTargetStreamer ( MCStreamer S)

Definition at line 30 of file ARMTargetStreamer.cpp.

References ~ARMTargetStreamer().

◆ ~ARMTargetStreamer()

ARMTargetStreamer::~ARMTargetStreamer ( )
overridedefault

Referenced by 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 37 of file ARMTargetStreamer.cpp.

References llvm::MCTargetStreamer::Streamer.

◆ AnnotateTLSDescriptorSequence()

void ARMTargetStreamer::AnnotateTLSDescriptorSequence ( const MCSymbolRefExpr SRE)
virtual

Definition at line 117 of file ARMTargetStreamer.cpp.

◆ emitArch()

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

Definition at line 111 of file ARMTargetStreamer.cpp.

◆ emitArchExtension()

void ARMTargetStreamer::emitArchExtension ( unsigned  ArchExt)
virtual

Definition at line 112 of file ARMTargetStreamer.cpp.

Referenced by emitTargetAttributes().

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

◆ emitCurrentConstantPool()

void ARMTargetStreamer::emitCurrentConstantPool ( )

Callback used to implemnt the .ltorg directive.

Emit contents of constant pool for the current section.

Definition at line 41 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 ( unsigned  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.

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

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

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

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

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

◆ emitSetFP()

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

Definition at line 95 of file ARMTargetStreamer.cpp.

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

◆ emitTargetAttributes()

void ARMTargetStreamer::emitTargetAttributes ( const MCSubtargetInfo STI)

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

Definition at line 161 of file ARMTargetStreamer.cpp.

References llvm::ARMBuildAttrs::ABI_HardFP_use, llvm::ARMBuildAttrs::Advanced_SIMD_arch, llvm::ARM::AEK_HWDIVARM, llvm::ARM::AEK_HWDIVTHUMB, llvm::ARMBuildAttrs::AllowDIVExt, llvm::ARMBuildAttrs::Allowed, llvm::ARMBuildAttrs::AllowHPFP, llvm::ARMBuildAttrs::AllowMP, llvm::ARMBuildAttrs::AllowNeonARMv8, llvm::ARMBuildAttrs::AllowNeonARMv8_1a, 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::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::Not_Allowed, llvm::ARMBuildAttrs::RealTimeProfile, llvm::StringRef::startswith(), switchVendor(), llvm::ARMBuildAttrs::THUMB_ISA_use, and llvm::ARMBuildAttrs::Virtualization_use.

Referenced by checkFunctionsAttributeConsistency().

◆ emitTextAttribute()

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

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

◆ finish()

void ARMTargetStreamer::finish ( )
overridevirtual

Reimplemented from llvm::MCTargetStreamer.

Definition at line 47 of file ARMTargetStreamer.cpp.

References llvm::MCTargetStreamer::Streamer.

◆ 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 GetAEABIUnwindPersonalityName().

◆ switchVendor()

void ARMTargetStreamer::switchVendor ( StringRef  Vendor)
virtual

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