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

34 BigNum,

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