18 #ifndef LLVM_BITCODE_BITCODES_H
19 #define LLVM_BITCODE_BITCODES_H
22 #include "llvm/Support/DataTypes.h"
109 : Val(Data), IsLiteral(
false), Enc(E) {}
140 if (C >=
'a' && C <=
'z')
return true;
141 if (C >=
'A' && C <=
'Z')
return true;
142 if (C >=
'0' && C <=
'9')
return true;
143 if (C ==
'.' || C ==
'_')
return true;
147 if (C >=
'a' && C <=
'z')
return C-
'a';
148 if (C >=
'A' && C <=
'Z')
return C-
'A'+26;
149 if (C >=
'0' && C <=
'9')
return C-
'0'+26+26;
150 if (C ==
'.')
return 62;
151 if (C ==
'_')
return 63;
156 assert((V & ~63) == 0 &&
"Not a Char6 encoded character!");
157 return "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._"
173 return static_cast<unsigned>(OperandList.size());
176 return OperandList[
N];
180 OperandList.push_back(OpInfo);
BLOCKINFO_BLOCK is used to define metadata about blocks, for example, standard abbrevs that should be...
LLVM_ATTRIBUTE_NORETURN void report_fatal_error(Error Err, bool gen_crash_diag=true)
Report a serious error, calling any installed error handler.
static const unsigned BWH_CPUTypeField
BitCodeAbbrev - This class represents an abbreviation record.
const BitCodeAbbrevOp & getOperandInfo(unsigned N) const
void Add(const BitCodeAbbrevOp &OpInfo)
static unsigned EncodeChar6(char C)
static const unsigned BWH_MagicField
Offsets of the 32-bit fields of bitcode wrapper header.
StandardBlockIDs
StandardBlockIDs - All bitcode files can optionally include a BLOCKINFO block, which contains metadat...
uint64_t getEncodingData() const
static const unsigned BWH_OffsetField
Function Alias Analysis false
static const unsigned BWH_SizeField
static GCRegistry::Add< CoreCLRGC > E("coreclr","CoreCLR-compatible GC")
BlockInfoCodes
BlockInfoCodes - The blockinfo block contains metadata about user-defined blocks. ...
bool hasEncodingData() const
BitCodeAbbrevOp(uint64_t V)
BitCodeAbbrevOp - This describes one or more operands in an abbreviation.
uint64_t getLiteralValue() const
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
isPodLike - This is a type trait that is used to determine whether a given type can be copied around ...
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
static const unsigned BWH_HeaderSize
DEFINE_ABBREV - Defines an abbrev for the current block.
static GCRegistry::Add< ShadowStackGC > C("shadow-stack","Very portable GC for uncooperative code generators")
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
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
BitCodeAbbrevOp(Encoding E, uint64_t Data=0)
static const unsigned BWH_VersionField
Encoding getEncoding() const