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;
101 void finishAttributeSection()
override;
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
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()
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 ...
Target specific streamer interface.
Represents a location in source code.
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.
CSKYMCExpr::VariantKind kind
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...