9#ifndef LLVM_LIB_TARGET_CSKY_CSKYTARGETSTREAMER_H
10#define LLVM_LIB_TARGET_CSKY_CSKYTARGETSTREAMER_H
21 std::map<int64_t, const MCSymbolRefExpr *> CachedEntries;
70 const MCExpr *AdjustExpr =
nullptr);
90 return A.sym ==
B.sym &&
A.kind ==
B.kind;
94class formatted_raw_ostream;
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
Functions, function parameters, and return types can have attributes to indicate how they should be t...
CSKYConstantPool()=default
void emitAll(MCStreamer &Streamer)
const MCExpr * addEntry(MCStreamer &Streamer, const MCExpr *Value, unsigned Size, SMLoc Loc, const MCExpr *AdjustExpr)
CSKYTargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS)
virtual void emitTextAttribute(unsigned Attribute, StringRef String)
virtual void emitTargetAttributes(const MCSubtargetInfo &STI)
DenseMap< SymbolIndex, const MCExpr * > ConstantMap
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...
std::unique_ptr< CSKYConstantPool > ConstantPool
void emitCurrentConstantPool()
virtual void finishAttributeSection()
CSKYTargetStreamer(MCStreamer &S)
virtual void emitAttribute(unsigned Attribute, unsigned Value)
Base class for the full range of assembler expressions which are needed for parsing.
Instances of this class represent a uniqued identifier for a section in the current translation unit.
Streaming machine code generation interface.
Generic base class for all target subtargets.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
MCTargetStreamer(MCStreamer &S)
Represents a location in source code.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
LLVM Value Representation.
This is an optimization pass for GlobalISel generic memory operations.
hash_code hash_combine(const Ts &...args)
Combine values into a single hash_code.
static bool isEqual(const CSKYTargetStreamer::SymbolIndex &A, const CSKYTargetStreamer::SymbolIndex &B)
static unsigned getHashValue(const CSKYTargetStreamer::SymbolIndex &V)
static CSKYTargetStreamer::SymbolIndex getEmptyKey()
static CSKYTargetStreamer::SymbolIndex getTombstoneKey()
An information struct used to provide DenseMap with the various necessary components for a given valu...