Go to the documentation of this file.
9 #ifndef LLVM_LIB_TARGET_CSKY_CSKYTARGETSTREAMER_H
10 #define LLVM_LIB_TARGET_CSKY_CSKYTARGETSTREAMER_H
21 std::map<int64_t, const MCSymbolRefExpr *> CachedEntries;
35 unsigned Size,
SMLoc Loc,
const MCExpr *AdjustExpr);
70 const MCExpr *AdjustExpr =
nullptr);
90 return A.sym ==
B.sym && A.kind ==
B.kind;
94 class formatted_raw_ostream;
101 void finishAttributeSection()
override;
110 #endif // LLVM_LIB_TARGET_CSKY_CSKYTARGETSTREAMER_H
static CSKYTargetStreamer::SymbolIndex getTombstoneKey()
This is an optimization pass for GlobalISel generic memory operations.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
CSKYTargetStreamer(MCStreamer &S)
CSKYTargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS)
void emitCurrentConstantPool()
static unsigned getHashValue(const CSKYTargetStreamer::SymbolIndex &V)
void emitAll(MCStreamer &Streamer)
CSKYConstantPool()=default
Streaming machine code generation interface.
An information struct used to provide DenseMap with the various necessary components for a given valu...
Represents a location in source code.
const MCExpr * addEntry(MCStreamer &Streamer, const MCExpr *Value, unsigned Size, SMLoc Loc, const MCExpr *AdjustExpr)
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
Target specific streamer interface.
virtual void emitTextAttribute(unsigned Attribute, StringRef String)
CSKYMCExpr::VariantKind kind
StringRef - Represent a constant reference to a string, i.e.
Instances of this class represent a uniqued identifier for a section in the current translation unit.
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves *Return an aggregate type is even return S
std::unique_ptr< CSKYConstantPool > ConstantPool
static bool isEqual(const CSKYTargetStreamer::SymbolIndex &A, const CSKYTargetStreamer::SymbolIndex &B)
const MCExpr * addConstantPoolEntry(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...
virtual void emitAttribute(unsigned Attribute, unsigned Value)
DenseMap< SymbolIndex, const MCExpr * > ConstantMap
virtual void finishAttributeSection()
hash_code hash_combine(const Ts &...args)
Combine values into a single hash_code.
Generic base class for all target subtargets.
static CSKYTargetStreamer::SymbolIndex getEmptyKey()
LLVM Value Representation.
Base class for the full range of assembler expressions which are needed for parsing.
virtual void emitTargetAttributes(const MCSubtargetInfo &STI)