LLVM  6.0.0svn
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)
 

Additional Inherited Members

- Protected Attributes inherited from llvm::MCTargetStreamer
MCStreamerStreamer
 

Detailed Description

Definition at line 102 of file MCStreamer.h.

Constructor & Destructor Documentation

◆ ARMTargetStreamer()

ARMTargetStreamer::ARMTargetStreamer ( MCStreamer S)

Definition at line 28 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 35 of file ARMTargetStreamer.cpp.

References llvm::MCTargetStreamer::Streamer.

◆ AnnotateTLSDescriptorSequence()

void ARMTargetStreamer::AnnotateTLSDescriptorSequence ( const MCSymbolRefExpr SRE)
virtual

Definition at line 81 of file ARMTargetStreamer.cpp.

◆ emitArch()

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

Definition at line 74 of file ARMTargetStreamer.cpp.

◆ emitArchExtension()

void ARMTargetStreamer::emitArchExtension ( unsigned  ArchExt)
virtual

Definition at line 75 of file ARMTargetStreamer.cpp.

Referenced by emitTargetAttributes().

◆ emitAttribute()

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

◆ emitCantUnwind()

void ARMTargetStreamer::emitCantUnwind ( )
virtual

Definition at line 54 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 39 of file ARMTargetStreamer.cpp.

References llvm::MCTargetStreamer::Streamer.

◆ emitFnEnd()

void ARMTargetStreamer::emitFnEnd ( )
virtual

Definition at line 53 of file ARMTargetStreamer.cpp.

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

◆ emitFnStart()

void ARMTargetStreamer::emitFnStart ( )
virtual

Definition at line 52 of file ARMTargetStreamer.cpp.

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

◆ emitFPU()

void ARMTargetStreamer::emitFPU ( unsigned  FPU)
virtual

Definition at line 77 of file ARMTargetStreamer.cpp.

Referenced by emitTargetAttributes().

◆ emitHandlerData()

void ARMTargetStreamer::emitHandlerData ( )
virtual

Definition at line 57 of file ARMTargetStreamer.cpp.

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

◆ emitInst()

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

Definition at line 79 of file ARMTargetStreamer.cpp.

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

◆ emitIntTextAttribute()

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

Definition at line 71 of file ARMTargetStreamer.cpp.

◆ emitMovSP()

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

Definition at line 60 of file ARMTargetStreamer.cpp.

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

◆ emitObjectArch()

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

Definition at line 76 of file ARMTargetStreamer.cpp.

◆ emitPad()

void ARMTargetStreamer::emitPad ( int64_t  Offset)
virtual

Definition at line 61 of file ARMTargetStreamer.cpp.

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

◆ emitPersonality()

void ARMTargetStreamer::emitPersonality ( const MCSymbol Personality)
virtual

Definition at line 55 of file ARMTargetStreamer.cpp.

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

◆ emitPersonalityIndex()

void ARMTargetStreamer::emitPersonalityIndex ( unsigned  Index)
virtual

Definition at line 56 of file ARMTargetStreamer.cpp.

◆ emitRegSave()

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

Definition at line 62 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 58 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 125 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 82 of file ARMTargetStreamer.cpp.

◆ emitUnwindRaw()

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

Definition at line 64 of file ARMTargetStreamer.cpp.

◆ finish()

void ARMTargetStreamer::finish ( )
overridevirtual

Reimplemented from llvm::MCTargetStreamer.

Definition at line 45 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 48 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: