18 #ifndef LLVM_BITCODE_BITCODES_H
19 #define LLVM_BITCODE_BITCODES_H
22 #include "llvm/Support/DataTypes.h"
101 : Val(Data), IsLiteral(
false), Enc(E) {}
132 if (C >=
'a' && C <=
'z')
return true;
133 if (C >=
'A' && C <=
'Z')
return true;
134 if (C >=
'0' && C <=
'9')
return true;
135 if (C ==
'.' || C ==
'_')
return true;
139 if (C >=
'a' && C <=
'z')
return C-
'a';
140 if (C >=
'A' && C <=
'Z')
return C-
'A'+26;
141 if (C >=
'0' && C <=
'9')
return C-
'0'+26+26;
142 if (C ==
'.')
return 62;
143 if (C ==
'_')
return 63;
148 assert((V & ~63) == 0 &&
"Not a Char6 encoded character!");
149 if (V < 26)
return V+
'a';
150 if (V < 26+26)
return V-26+
'A';
151 if (V < 26+26+10)
return V-26-26+
'0';
152 if (V == 62)
return '.';
153 if (V == 63)
return '_';
166 unsigned char RefCount;
172 void dropRef() {
if (--RefCount == 0)
delete this; }
175 return static_cast<unsigned>(OperandList.size());
178 return OperandList[
N];
182 OperandList.push_back(OpInfo);
const BitCodeAbbrevOp & getOperandInfo(unsigned N) const
void Add(const BitCodeAbbrevOp &OpInfo)
static unsigned EncodeChar6(char C)
#define llvm_unreachable(msg)
uint64_t getEncodingData() const
bool hasEncodingData() const
BitCodeAbbrevOp(uint64_t V)
uint64_t getLiteralValue() const
static char DecodeChar6(unsigned V)
static bool isChar6(char C)
isChar6 - Return true if this character is legal in the Char6 encoding.
static bool hasEncodingData(Encoding E)
unsigned getNumOperandInfos() const
BitCodeAbbrevOp(Encoding E, uint64_t Data=0)
Encoding getEncoding() const