LLVM 19.0.0git
Classes | Public Member Functions | Protected Attributes | List of all members
llvm::CSKYTargetStreamer Class Reference

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

Inheritance diagram for llvm::CSKYTargetStreamer:
Inheritance graph


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 ()
virtual void emitTargetAttributes (const MCSubtargetInfo &STI)
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 ()
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 ()

Protected Attributes

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

Detailed Description

Definition at line 45 of file CSKYTargetStreamer.h.

Constructor & Destructor Documentation

◆ CSKYTargetStreamer()

CSKYTargetStreamer::CSKYTargetStreamer ( MCStreamer S)

Definition at line 81 of file CSKYTargetStreamer.cpp.

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

References llvm::ConstantPool::addEntry(), ConstantCounter, ConstantMap, llvm::MCTargetStreamer::getStreamer(), Sym, and llvm::CSKYMCExpr::VK_CSKY_Invalid.

◆ emitAttribute()

void CSKYTargetStreamer::emitAttribute ( unsigned  Attribute,
unsigned  Value 

Definition at line 128 of file CSKYTargetStreamer.cpp.

◆ emitCurrentConstantPool()

void CSKYTargetStreamer::emitCurrentConstantPool ( )

◆ emitTargetAttributes()

void CSKYTargetStreamer::emitTargetAttributes ( const MCSubtargetInfo STI)

Definition at line 126 of file CSKYTargetStreamer.cpp.

◆ emitTextAttribute()

void CSKYTargetStreamer::emitTextAttribute ( unsigned  Attribute,
StringRef  String 

Definition at line 129 of file CSKYTargetStreamer.cpp.

◆ finish()

void CSKYTargetStreamer::finish ( )

◆ finishAttributeSection()

void CSKYTargetStreamer::finishAttributeSection ( )

Definition at line 131 of file CSKYTargetStreamer.cpp.

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

Member Data Documentation

◆ ConstantCounter

unsigned llvm::CSKYTargetStreamer::ConstantCounter = 0

Definition at line 57 of file CSKYTargetStreamer.h.

Referenced by addConstantPoolEntry(), and finish().

◆ ConstantMap

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

Definition at line 55 of file CSKYTargetStreamer.h.

Referenced by addConstantPoolEntry().

◆ ConstantPool

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

Definition at line 53 of file CSKYTargetStreamer.h.

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