LLVM: include/llvm/Bitstream/BitCodes.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17#ifndef LLVM_BITSTREAM_BITCODES_H

18#define LLVM_BITSTREAM_BITCODES_H

19

26#include

27

28namespace llvm {

29

30

31

32

33

35public:

43

44protected:

45 uint64_t Val;

47 uint64_t IsLiteral : 1;

50

51public:

53 return E >= 1 && E <= 5;

54 }

55

59

62

63

65

66

72

75 switch (E) {

78 return true;

82 return false;

83 }

85 }

86

87

90 if (C >= 'a' && C <= 'z') return C-'a';

91 if (C >= 'A' && C <= 'Z') return C-'A'+26;

92 if (C >= '0' && C <= '9') return C-'0'+26+26;

93 if (C == '.') return 62;

94 if (C == '_') return 63;

96 }

97

99 assert((V & ~63) == 0 && "Not a Char6 encoded character!");

100 return "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._"

101 [V];

102 }

103

104};

105

106

107

108

111

112public:

114

115 explicit BitCodeAbbrev(std::initializer_list OperandList)

116 : OperandList(OperandList) {}

117

119 return static_cast<unsigned>(OperandList.size());

120 }

122 return OperandList[N];

123 }

124

126 OperandList.push_back(OpInfo);

127 }

128};

129}

130

131#endif

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")

#define LLVM_PREFERRED_TYPE(T)

\macro LLVM_PREFERRED_TYPE Adjust type of bit-field in debug info.

This file defines the SmallVector class.

BitCodeAbbrevOp - This describes one or more operands in an abbreviation.

Definition BitCodes.h:34

static bool isChar6(char C)

isChar6 - Return true if this character is legal in the Char6 encoding.

Definition BitCodes.h:88

uint64_t getLiteralValue() const

Definition BitCodes.h:64

static bool isValidEncoding(uint64_t E)

Definition BitCodes.h:52

BitCodeAbbrevOp(uint64_t V)

Definition BitCodes.h:56

static unsigned EncodeChar6(char C)

Definition BitCodes.h:89

uint64_t Enc

Definition BitCodes.h:49

uint64_t Val

Definition BitCodes.h:45

bool hasEncodingData() const

Definition BitCodes.h:73

bool isLiteral() const

Definition BitCodes.h:60

bool isEncoding() const

Definition BitCodes.h:61

static bool hasEncodingData(Encoding E)

Definition BitCodes.h:74

Encoding

Definition BitCodes.h:36

@ Blob

Definition BitCodes.h:41

@ Char6

Definition BitCodes.h:40

@ Fixed

Definition BitCodes.h:37

@ Array

Definition BitCodes.h:39

@ VBR

Definition BitCodes.h:38

BitCodeAbbrevOp(Encoding E, uint64_t Data=0)

Definition BitCodes.h:57

uint64_t IsLiteral

Definition BitCodes.h:47

Encoding getEncoding() const

Definition BitCodes.h:67

static char DecodeChar6(unsigned V)

Definition BitCodes.h:98

uint64_t getEncodingData() const

Definition BitCodes.h:68

BitCodeAbbrev(std::initializer_list< BitCodeAbbrevOp > OperandList)

Definition BitCodes.h:115

unsigned getNumOperandInfos() const

Definition BitCodes.h:118

void Add(const BitCodeAbbrevOp &OpInfo)

Definition BitCodes.h:125

const BitCodeAbbrevOp & getOperandInfo(unsigned N) const

Definition BitCodes.h:121

This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.

#define llvm_unreachable(msg)

Marks that the current location is not supposed to be reachable.

@ C

The default llvm calling convention, compatible with C.

This is an optimization pass for GlobalISel generic memory operations.

LLVM_ABI void report_fatal_error(Error Err, bool gen_crash_diag=true)

bool isAlnum(char C)

Checks whether character C is either a decimal digit or an uppercase or lowercase letter as classifie...

FunctionAddr VTableAddr uintptr_t uintptr_t Data