LLVM: lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_LIB_TARGET_CSKY_CSKYTARGETSTREAMER_H
10#define LLVM_LIB_TARGET_CSKY_CSKYTARGETSTREAMER_H
11
15
16namespace llvm {
17
20 EntryVecTy Entries;
21 std::map<int64_t, const MCSymbolRefExpr *> CachedEntries;
22
23 MCSection *CurrentSection = nullptr;
24
25public:
26
28
29
30
31
32
33
36
38
39
41
43};
44
46public:
51
52protected:
54
56
58
59public:
61
65
67
68
70 const MCExpr *AdjustExpr = nullptr);
71
73
74 void finish() override;
75};
76
90 return A.sym == B.sym && A.kind == B.kind;
91 }
92};
93
94class formatted_raw_ostream;
95
98
99 void emitAttribute(unsigned Attribute, unsigned Value) override;
102
103public:
106};
107
108}
109
110#endif
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)
Definition CSKYTargetStreamer.h:104
virtual void emitTextAttribute(unsigned Attribute, StringRef String)
virtual void emitTargetAttributes(const MCSubtargetInfo &STI)
unsigned ConstantCounter
Definition CSKYTargetStreamer.h:57
DenseMap< SymbolIndex, const MCExpr * > ConstantMap
Definition CSKYTargetStreamer.h:55
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
Definition CSKYTargetStreamer.h:53
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.
formatted_raw_ostream - A raw_ostream that wraps another one and keeps track of line and column posit...
This is an optimization pass for GlobalISel generic memory operations.
hash_code hash_combine(const Ts &...args)
Combine values into a single hash_code.
const MCSymbol * sym
Definition CSKYTargetStreamer.h:48
CSKY::Specifier kind
Definition CSKYTargetStreamer.h:49
static bool isEqual(const CSKYTargetStreamer::SymbolIndex &A, const CSKYTargetStreamer::SymbolIndex &B)
Definition CSKYTargetStreamer.h:88
static unsigned getHashValue(const CSKYTargetStreamer::SymbolIndex &V)
Definition CSKYTargetStreamer.h:84
static CSKYTargetStreamer::SymbolIndex getEmptyKey()
Definition CSKYTargetStreamer.h:78
static CSKYTargetStreamer::SymbolIndex getTombstoneKey()
Definition CSKYTargetStreamer.h:81
An information struct used to provide DenseMap with the various necessary components for a given valu...