19 : NameStorage(
Allocator), Records(Records) {
20 Names.resize(Records.size());
38 assert(Index.toArrayIndex() < Records.size());
39 return CVType(Records[Index.toArrayIndex()]);
43 if (Index.isNoneType() || Index.isSimple())
47 if (Names[
I].data() ==
nullptr) {
55 return Index.toArrayIndex() <=
size();
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
StringRef - Represent a constant reference to a string, i.e.
StringRef save(const char *S)
static TypeIndex fromArrayIndex(uint32_t Index)
uint32_t toArrayIndex() const
static StringRef simpleTypeName(TypeIndex TI)
CVType getType(TypeIndex Index) override
bool contains(TypeIndex Index) override
TypeTableCollection(ArrayRef< ArrayRef< uint8_t > > Records)
std::optional< TypeIndex > getFirst() override
std::optional< TypeIndex > getNext(TypeIndex Prev) override
uint32_t capacity() override
StringRef getTypeName(TypeIndex Index) override
bool replaceType(TypeIndex &Index, CVType Data, bool Stabilize) override
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
CVRecord< TypeLeafKind > CVType
std::string computeTypeName(TypeCollection &Types, TypeIndex Index)
This is an optimization pass for GlobalISel generic memory operations.