LLVM 24.0.0git
llvm::CSKYTargetStreamer Class Reference

#include "Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h"

Inheritance diagram for llvm::CSKYTargetStreamer:
[legend]

Classes

struct  SymbolIndex

Public Member Functions

 CSKYTargetStreamer (MCStreamer &S)
virtual void emitTextAttribute (unsigned Attribute, StringRef String)
virtual void emitAttribute (unsigned Attribute, unsigned Value)
virtual void finishAttributeSection ()
void emitTargetAttributes (const MCSubtargetInfo &STI, bool HardFloatABI)
const MCExpraddConstantPoolEntry (const MCExpr *, SMLoc Loc, const MCExpr *AdjustExpr=nullptr)
 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.
void emitCurrentConstantPool ()
void finish () override
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 emitConstantPools ()

Protected Attributes

std::unique_ptr< CSKYConstantPoolConstantPool
DenseMap< SymbolIndex, const MCExpr * > ConstantMap
unsigned ConstantCounter = 0
bool EmittedTargetAttributes = false
Protected Attributes inherited from llvm::MCTargetStreamer
MCStreamerStreamer

Detailed Description

Definition at line 46 of file CSKYTargetStreamer.h.

Constructor & Destructor Documentation

◆ CSKYTargetStreamer()

Member Function Documentation

◆ addConstantPoolEntry()

const MCExpr * CSKYTargetStreamer::addConstantPoolEntry ( const MCExpr * Expr,
SMLoc Loc,
const MCExpr * AdjustExpr = nullptr )

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 90 of file CSKYTargetStreamer.cpp.

References ConstantCounter, ConstantMap, ConstantPool, llvm::dyn_cast(), llvm::MCTargetStreamer::getStreamer(), and llvm::CSKY::S_Invalid.

◆ emitAttribute()

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

Definition at line 300 of file CSKYTargetStreamer.cpp.

Referenced by emitTargetAttributes().

◆ emitCurrentConstantPool()

void CSKYTargetStreamer::emitCurrentConstantPool ( )

Definition at line 117 of file CSKYTargetStreamer.cpp.

References ConstantPool, and llvm::MCTargetStreamer::Streamer.

◆ emitTargetAttributes()

void CSKYTargetStreamer::emitTargetAttributes ( const MCSubtargetInfo & STI,
bool HardFloatABI )

Definition at line 131 of file CSKYTargetStreamer.cpp.

References llvm::CSKYAttrs::CSKY_ARCH_NAME, llvm::CSKYAttrs::CSKY_CPU_NAME, llvm::CSKYAttrs::CSKY_DSP_VERSION, llvm::CSKYAttrs::CSKY_FPU_ABI, llvm::CSKYAttrs::CSKY_FPU_DENORMAL, llvm::CSKYAttrs::CSKY_FPU_EXCEPTION, llvm::CSKYAttrs::CSKY_FPU_HARDFP, llvm::CSKYAttrs::CSKY_FPU_NUMBER_MODULE, llvm::CSKYAttrs::CSKY_FPU_VERSION, llvm::CSKYAttrs::CSKY_ISA_EXT_FLAGS, llvm::CSKYAttrs::CSKY_ISA_FLAGS, llvm::CSKYAttrs::CSKY_VDSP_VERSION, llvm::CSKYAttrs::DSP_VERSION_2, llvm::CSKYAttrs::DSP_VERSION_EXTENSION, emitAttribute(), EmittedTargetAttributes, emitTextAttribute(), llvm::CSKYAttrs::FPU_ABI_HARD, llvm::CSKYAttrs::FPU_ABI_SOFT, llvm::CSKYAttrs::FPU_ABI_SOFTFP, llvm::CSKYAttrs::FPU_HARDFP_DOUBLE, llvm::CSKYAttrs::FPU_HARDFP_HALF, llvm::CSKYAttrs::FPU_HARDFP_SINGLE, llvm::CSKYAttrs::FPU_VERSION_2, llvm::CSKYAttrs::FPU_VERSION_3, llvm::CSKY::getArchName(), llvm::MCSubtargetInfo::getCPU(), llvm::MCSubtargetInfo::hasFeature(), llvm::CSKYAttrs::ISA_CACHE, llvm::CSKYAttrs::ISA_DSP, llvm::CSKYAttrs::ISA_DSP_1E2, llvm::CSKYAttrs::ISA_DSP_ENHANCE, llvm::CSKYAttrs::ISA_DSP_SILAN, llvm::CSKYAttrs::ISA_FLOAT_1E2, llvm::CSKYAttrs::ISA_FLOAT_1E3, llvm::CSKYAttrs::ISA_FLOAT_3E4, llvm::CSKYAttrs::ISA_FLOAT_7E60, llvm::CSKYAttrs::ISA_FLOAT_E1, llvm::CSKYAttrs::ISA_JAVA, llvm::CSKYAttrs::ISA_MP, llvm::CSKYAttrs::ISA_MP_1E2, llvm::CSKYAttrs::ISA_NVIC, llvm::CSKYAttrs::ISA_TRUST, llvm::CSKYAttrs::ISA_VDSP, llvm::CSKYAttrs::ISA_VDSP_2, llvm::CSKYAttrs::ISA_VDSP_2E3, llvm::CSKYAttrs::ISA_VDSP_2E60F, llvm::CSKYAttrs::NEEDED, llvm::CSKY::parseCPUArch(), llvm::CSKYAttrs::V2_ISA_10E60, llvm::CSKYAttrs::V2_ISA_1E2, llvm::CSKYAttrs::V2_ISA_2E3, llvm::CSKYAttrs::V2_ISA_3E3R1, llvm::CSKYAttrs::V2_ISA_3E3R2, llvm::CSKYAttrs::V2_ISA_3E3R3, llvm::CSKYAttrs::V2_ISA_3E7, llvm::CSKYAttrs::V2_ISA_7E10, llvm::CSKYAttrs::V2_ISA_DSPE60, llvm::CSKYAttrs::V2_ISA_E1, and llvm::CSKYAttrs::VDSP_VERSION_2.

◆ emitTextAttribute()

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

Definition at line 301 of file CSKYTargetStreamer.cpp.

References llvm::String.

Referenced by emitTargetAttributes().

◆ finish()

void CSKYTargetStreamer::finish ( )
overridevirtual

◆ finishAttributeSection()

void CSKYTargetStreamer::finishAttributeSection ( )
virtual

Definition at line 303 of file CSKYTargetStreamer.cpp.

Referenced by llvm::CSKYAsmPrinter::emitEndOfAsmFile(), and finish().

Member Data Documentation

◆ ConstantCounter

unsigned llvm::CSKYTargetStreamer::ConstantCounter = 0
protected

Definition at line 58 of file CSKYTargetStreamer.h.

Referenced by addConstantPoolEntry(), and finish().

◆ ConstantMap

DenseMap<SymbolIndex, const MCExpr *> llvm::CSKYTargetStreamer::ConstantMap
protected

Definition at line 56 of file CSKYTargetStreamer.h.

Referenced by addConstantPoolEntry().

◆ ConstantPool

std::unique_ptr<CSKYConstantPool> llvm::CSKYTargetStreamer::ConstantPool
protected

◆ EmittedTargetAttributes

bool llvm::CSKYTargetStreamer::EmittedTargetAttributes = false
protected

Definition at line 60 of file CSKYTargetStreamer.h.

Referenced by emitTargetAttributes().


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