LLVM: include/llvm/MC/MCAsmMacro.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_MC_MCASMMACRO_H
10#define LLVM_MC_MCASMMACRO_H
11
17#include
18
19namespace llvm {
20
21
23public:
25
27
28
31
32
35
36
38
39
42
51
56 };
57
58private:
60
61
62
64
66
67public:
70 : Kind(Kind), Str(Str), IntVal(std::move(IntVal)) {}
72 : Kind(Kind), Str(Str), IntVal(64, IntVal, true) {}
73
77
81
82
84 assert(Kind == String && "This token isn't a string!");
85 return Str.slice(1, Str.size() - 1);
86 }
87
88
89
90
91
97
98
99
100
101
102
104
105
106
107
109 assert(Kind == Integer && "This token isn't an integer!");
110 return IntVal.getZExtValue();
111 }
112
115 "This token isn't an integer!");
116 return IntVal;
117 }
118
120};
121
127
128#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
131#endif
132};
133
142
143public:
147 std::vectorstd::string L, bool F)
150
151#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
154#endif
155};
156}
157
158#endif
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
This file implements a class to represent arbitrary precision integral constant values and operations...
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
#define LLVM_DUMP_METHOD
Mark debug helper function definitions like dump() that should not be stripped from debug builds.
Class for arbitrary precision integers.
LLVM_ABI SMLoc getLoc() const
int64_t getIntVal() const
Definition MCAsmMacro.h:108
bool isNot(TokenKind K) const
Definition MCAsmMacro.h:76
StringRef getString() const
Get the string for the current token, this includes all characters (for example, the quotes on string...
Definition MCAsmMacro.h:103
AsmToken(TokenKind Kind, StringRef Str, APInt IntVal)
Definition MCAsmMacro.h:69
StringRef getStringContents() const
Get the contents of a string token (without quotes).
Definition MCAsmMacro.h:83
bool is(TokenKind K) const
Definition MCAsmMacro.h:75
TokenKind getKind() const
Definition MCAsmMacro.h:74
AsmToken(TokenKind Kind, StringRef Str, int64_t IntVal=0)
Definition MCAsmMacro.h:71
LLVM_ABI SMLoc getEndLoc() const
LLVM_ABI void dump(raw_ostream &OS) const
APInt getAPIntVal() const
Definition MCAsmMacro.h:113
TokenKind
Definition MCAsmMacro.h:24
@ Comment
Definition MCAsmMacro.h:40
@ Greater
Definition MCAsmMacro.h:55
@ Minus
Definition MCAsmMacro.h:46
@ Eof
Definition MCAsmMacro.h:26
@ Tilde
Definition MCAsmMacro.h:46
@ String
Definition MCAsmMacro.h:30
@ Error
Definition MCAsmMacro.h:26
@ Space
Definition MCAsmMacro.h:45
@ Integer
Definition MCAsmMacro.h:33
@ RBrac
Definition MCAsmMacro.h:49
@ Colon
Definition MCAsmMacro.h:44
@ LessLess
Definition MCAsmMacro.h:54
@ Percent
Definition MCAsmMacro.h:53
@ LBrac
Definition MCAsmMacro.h:49
@ BackSlash
Definition MCAsmMacro.h:48
@ Caret
Definition MCAsmMacro.h:52
@ RCurly
Definition MCAsmMacro.h:49
@ LessEqual
Definition MCAsmMacro.h:54
@ At
Definition MCAsmMacro.h:55
@ AmpAmp
Definition MCAsmMacro.h:53
@ GreaterEqual
Definition MCAsmMacro.h:55
@ HashDirective
Definition MCAsmMacro.h:41
@ Question
Definition MCAsmMacro.h:50
@ LessGreater
Definition MCAsmMacro.h:54
@ Pipe
Definition MCAsmMacro.h:52
@ Hash
Definition MCAsmMacro.h:53
@ Identifier
Definition MCAsmMacro.h:29
@ Amp
Definition MCAsmMacro.h:53
@ LParen
Definition MCAsmMacro.h:49
@ Star
Definition MCAsmMacro.h:50
@ BigNum
Definition MCAsmMacro.h:34
@ EqualEqual
Definition MCAsmMacro.h:50
@ Less
Definition MCAsmMacro.h:54
@ LCurly
Definition MCAsmMacro.h:49
@ Slash
Definition MCAsmMacro.h:47
@ RParen
Definition MCAsmMacro.h:49
@ GreaterGreater
Definition MCAsmMacro.h:55
@ PipePipe
Definition MCAsmMacro.h:52
@ Equal
Definition MCAsmMacro.h:50
@ Dollar
Definition MCAsmMacro.h:50
@ MinusGreater
Definition MCAsmMacro.h:55
@ Comma
Definition MCAsmMacro.h:50
@ Plus
Definition MCAsmMacro.h:46
@ Real
Definition MCAsmMacro.h:37
@ ExclaimEqual
Definition MCAsmMacro.h:53
@ EndOfStatement
Definition MCAsmMacro.h:43
@ Dot
Definition MCAsmMacro.h:50
@ Exclaim
Definition MCAsmMacro.h:53
LLVM_ABI SMRange getLocRange() const
StringRef getIdentifier() const
Get the identifier string for the current token, which should be an identifier or a string.
Definition MCAsmMacro.h:92
Represents a location in source code.
Represents a range in source code.
StringRef - Represent a constant reference to a string, i.e.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
std::vector< MCAsmMacroParameter > MCAsmMacroParameters
Definition MCAsmMacro.h:134
LLVM_ABI raw_ostream & dbgs()
dbgs() - This returns a reference to a raw_ostream for debugging messages.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.
Definition MCAsmMacro.h:122
bool Required
Definition MCAsmMacro.h:125
StringRef Name
Definition MCAsmMacro.h:123
bool Vararg
Definition MCAsmMacro.h:126
void dump() const
Definition MCAsmMacro.h:129
std::vector< AsmToken > Value
Definition MCAsmMacro.h:124
unsigned Count
Definition MCAsmMacro.h:141
std::vector< std::string > Locals
Definition MCAsmMacro.h:139
MCAsmMacro(StringRef N, StringRef B, MCAsmMacroParameters P, std::vector< std::string > L, bool F)
Definition MCAsmMacro.h:146
bool IsFunction
Definition MCAsmMacro.h:140
StringRef Name
Definition MCAsmMacro.h:136
MCAsmMacro(StringRef N, StringRef B, MCAsmMacroParameters P)
Definition MCAsmMacro.h:144
StringRef Body
Definition MCAsmMacro.h:137
void dump() const
Definition MCAsmMacro.h:152
MCAsmMacroParameters Parameters
Definition MCAsmMacro.h:138