class Record
Declaration
class Record { /* full declaration omitted */ };
Declared at: llvm/include/llvm/TableGen/Record.h:1427
Method Overview
- public Record(llvm::StringRef N, ArrayRef<llvm::SMLoc> locs, llvm::RecordKeeper & records, bool Class = false)
- public Record(const llvm::Record & O)
- public Record(llvm::Init * N, ArrayRef<llvm::SMLoc> locs, llvm::RecordKeeper & records, bool Anonymous = false, bool Class = false)
- public void addSuperClass(llvm::Record * R, llvm::SMRange Range)
- public void addTemplateArg(llvm::Init * Name)
- public void addValue(const llvm::RecordVal & RV)
- public void appendLoc(llvm::SMLoc Loc)
- public void dump() const
- public llvm::DefInit * getDefInit()
- public void getDirectSuperClasses(SmallVectorImpl<llvm::Record *> & Classes) const
- public unsigned int getID() const
- public ArrayRef<llvm::SMLoc> getLoc() const
- public llvm::StringRef getName() const
- public llvm::Init * getNameInit() const
- public const std::string getNameInitAsString() const
- public static unsigned int getNewUID()
- public llvm::RecordKeeper & getRecords() const
- public ArrayRef<std::pair<Record *, SMRange>> getSuperClasses() const
- public ArrayRef<llvm::Init *> getTemplateArgs() const
- public llvm::RecordRecTy * getType()
- public const llvm::RecordVal * getValue(const llvm::Init * Name) const
- public const llvm::RecordVal * getValue(llvm::StringRef Name) const
- public llvm::RecordVal * getValue(const llvm::Init * Name)
- public llvm::RecordVal * getValue(llvm::StringRef Name)
- public bool getValueAsBit(llvm::StringRef FieldName) const
- public bool getValueAsBitOrUnset(llvm::StringRef FieldName, bool & Unset) const
- public llvm::BitsInit * getValueAsBitsInit(llvm::StringRef FieldName) const
- public llvm::DagInit * getValueAsDag(llvm::StringRef FieldName) const
- public llvm::Record * getValueAsDef(llvm::StringRef FieldName) const
- public int64_t getValueAsInt(llvm::StringRef FieldName) const
- public llvm::ListInit * getValueAsListInit(llvm::StringRef FieldName) const
- public std::vector<Record *> getValueAsListOfDefs(llvm::StringRef FieldName) const
- public std::vector<int64_t> getValueAsListOfInts(llvm::StringRef FieldName) const
- public std::vector<StringRef> getValueAsListOfStrings(llvm::StringRef FieldName) const
- public llvm::Record * getValueAsOptionalDef(llvm::StringRef FieldName) const
- public llvm::StringRef getValueAsString(llvm::StringRef FieldName) const
- public llvm::Init * getValueInit(llvm::StringRef FieldName) const
- public ArrayRef<llvm::RecordVal> getValues() const
- public bool isAnonymous() const
- public bool isClass() const
- public bool isSubClassOf(const llvm::Record * R) const
- public bool isSubClassOf(llvm::StringRef Name) const
- public bool isTemplateArg(llvm::Init * Name) const
- public bool isValueUnset(llvm::StringRef FieldName) const
- public void print(llvm::raw_ostream & OS) const
- public void removeValue(llvm::Init * Name)
- public void removeValue(llvm::StringRef Name)
- public void resolveReferences(llvm::Resolver & R, const llvm::RecordVal * SkipVal = nullptr)
- public void resolveReferences()
- public void resolveReferencesTo(const llvm::RecordVal * RV)
- public void setName(llvm::Init * Name)
Methods
¶Record(llvm::StringRef N,
ArrayRef<llvm::SMLoc> locs,
llvm::RecordKeeper& records,
bool Class = false)
Record(llvm::StringRef N,
ArrayRef<llvm::SMLoc> locs,
llvm::RecordKeeper& records,
bool Class = false)
Declared at: llvm/include/llvm/TableGen/Record.h:1463
Parameters
- llvm::StringRef N
- ArrayRef<llvm::SMLoc> locs
- llvm::RecordKeeper& records
- bool Class = false
¶Record(const llvm::Record& O)
Record(const llvm::Record& O)
Declared at: llvm/include/llvm/TableGen/Record.h:1470
Parameters
- const llvm::Record& O
¶Record(llvm::Init* N,
ArrayRef<llvm::SMLoc> locs,
llvm::RecordKeeper& records,
bool Anonymous = false,
bool Class = false)
Record(llvm::Init* N,
ArrayRef<llvm::SMLoc> locs,
llvm::RecordKeeper& records,
bool Anonymous = false,
bool Class = false)
Declared at: llvm/include/llvm/TableGen/Record.h:1456
Parameters
- llvm::Init* N
- ArrayRef<llvm::SMLoc> locs
- llvm::RecordKeeper& records
- bool Anonymous = false
- bool Class = false
¶void addSuperClass(llvm::Record* R,
llvm::SMRange Range)
void addSuperClass(llvm::Record* R,
llvm::SMRange Range)
Declared at: llvm/include/llvm/TableGen/Record.h:1582
Parameters
- llvm::Record* R
- llvm::SMRange Range
¶void addTemplateArg(llvm::Init* Name)
void addTemplateArg(llvm::Init* Name)
Declared at: llvm/include/llvm/TableGen/Record.h:1540
Parameters
- llvm::Init* Name
¶void addValue(const llvm::RecordVal& RV)
void addValue(const llvm::RecordVal& RV)
Declared at: llvm/include/llvm/TableGen/Record.h:1545
Parameters
- const llvm::RecordVal& RV
¶void appendLoc(llvm::SMLoc Loc)
void appendLoc(llvm::SMLoc Loc)
Declared at: llvm/include/llvm/TableGen/Record.h:1493
Parameters
- llvm::SMLoc Loc
¶void dump() const
void dump() const
Declared at: llvm/include/llvm/TableGen/Record.h:1616
¶llvm::DefInit* getDefInit()
llvm::DefInit* getDefInit()
Description
get the corresponding DefInit.
Declared at: llvm/include/llvm/TableGen/Record.h:1499
¶void getDirectSuperClasses(
SmallVectorImpl<llvm::Record*>& Classes) const
void getDirectSuperClasses(
SmallVectorImpl<llvm::Record*>& Classes) const
Description
Append the direct super classes of this record to Classes.
Declared at: llvm/include/llvm/TableGen/Record.h:1514
Parameters
- SmallVectorImpl<llvm::Record*>& Classes
¶unsigned int getID() const
unsigned int getID() const
Declared at: llvm/include/llvm/TableGen/Record.h:1478
¶ArrayRef<llvm::SMLoc> getLoc() const
ArrayRef<llvm::SMLoc> getLoc() const
Declared at: llvm/include/llvm/TableGen/Record.h:1492
¶llvm::StringRef getName() const
llvm::StringRef getName() const
Declared at: llvm/include/llvm/TableGen/Record.h:1480
¶llvm::Init* getNameInit() const
llvm::Init* getNameInit() const
Declared at: llvm/include/llvm/TableGen/Record.h:1482
¶const std::string getNameInitAsString() const
const std::string getNameInitAsString() const
Declared at: llvm/include/llvm/TableGen/Record.h:1486
¶static unsigned int getNewUID()
static unsigned int getNewUID()
Declared at: llvm/include/llvm/TableGen/Record.h:1476
¶llvm::RecordKeeper& getRecords() const
llvm::RecordKeeper& getRecords() const
Declared at: llvm/include/llvm/TableGen/Record.h:1607
¶ArrayRef<std::pair<Record*, SMRange>>
getSuperClasses() const
ArrayRef<std::pair<Record*, SMRange>>
getSuperClasses() const
Declared at: llvm/include/llvm/TableGen/Record.h:1509
¶ArrayRef<llvm::Init*> getTemplateArgs() const
ArrayRef<llvm::Init*> getTemplateArgs() const
Declared at: llvm/include/llvm/TableGen/Record.h:1503
¶llvm::RecordRecTy* getType()
llvm::RecordRecTy* getType()
Declared at: llvm/include/llvm/TableGen/Record.h:1496
¶const llvm::RecordVal* getValue(
const llvm::Init* Name) const
const llvm::RecordVal* getValue(
const llvm::Init* Name) const
Declared at: llvm/include/llvm/TableGen/Record.h:1522
Parameters
- const llvm::Init* Name
¶const llvm::RecordVal* getValue(
llvm::StringRef Name) const
const llvm::RecordVal* getValue(
llvm::StringRef Name) const
Declared at: llvm/include/llvm/TableGen/Record.h:1528
Parameters
- llvm::StringRef Name
¶llvm::RecordVal* getValue(const llvm::Init* Name)
llvm::RecordVal* getValue(const llvm::Init* Name)
Declared at: llvm/include/llvm/TableGen/Record.h:1532
Parameters
- const llvm::Init* Name
¶llvm::RecordVal* getValue(llvm::StringRef Name)
llvm::RecordVal* getValue(llvm::StringRef Name)
Declared at: llvm/include/llvm/TableGen/Record.h:1536
Parameters
- llvm::StringRef Name
¶bool getValueAsBit(
llvm::StringRef FieldName) const
bool getValueAsBit(
llvm::StringRef FieldName) const
Description
This method looks up the specified field and returns its value as a bit, throwing an exception if the field does not exist or if the value is not the right type.
Declared at: llvm/include/llvm/TableGen/Record.h:1675
Parameters
- llvm::StringRef FieldName
¶bool getValueAsBitOrUnset(
llvm::StringRef FieldName,
bool& Unset) const
bool getValueAsBitOrUnset(
llvm::StringRef FieldName,
bool& Unset) const
Description
This method looks up the specified field and returns its value as a bit. If the field is unset, sets Unset to true and returns false.
Declared at: llvm/include/llvm/TableGen/Record.h:1680
Parameters
- llvm::StringRef FieldName
- bool& Unset
¶llvm::BitsInit* getValueAsBitsInit(
llvm::StringRef FieldName) const
llvm::BitsInit* getValueAsBitsInit(
llvm::StringRef FieldName) const
Description
This method looks up the specified field and returns its value as a BitsInit, throwing an exception if the field does not exist or if the value is not the right type.
Declared at: llvm/include/llvm/TableGen/Record.h:1639
Parameters
- llvm::StringRef FieldName
¶llvm::DagInit* getValueAsDag(
llvm::StringRef FieldName) const
llvm::DagInit* getValueAsDag(
llvm::StringRef FieldName) const
Description
This method looks up the specified field and returns its value as an Dag, throwing an exception if the field does not exist or if the value is not the right type.
Declared at: llvm/include/llvm/TableGen/Record.h:1690
Parameters
- llvm::StringRef FieldName
¶llvm::Record* getValueAsDef(
llvm::StringRef FieldName) const
llvm::Record* getValueAsDef(
llvm::StringRef FieldName) const
Description
This method looks up the specified field and returns its value as a Record, throwing an exception if the field does not exist or if the value is not the right type.
Declared at: llvm/include/llvm/TableGen/Record.h:1664
Parameters
- llvm::StringRef FieldName
¶int64_t getValueAsInt(
llvm::StringRef FieldName) const
int64_t getValueAsInt(
llvm::StringRef FieldName) const
Description
This method looks up the specified field and returns its value as an int64_t, throwing an exception if the field does not exist or if the value is not the right type.
Declared at: llvm/include/llvm/TableGen/Record.h:1685
Parameters
- llvm::StringRef FieldName
¶llvm::ListInit* getValueAsListInit(
llvm::StringRef FieldName) const
llvm::ListInit* getValueAsListInit(
llvm::StringRef FieldName) const
Description
This method looks up the specified field and returns its value as a ListInit, throwing an exception if the field does not exist or if the value is not the right type.
Declared at: llvm/include/llvm/TableGen/Record.h:1644
Parameters
- llvm::StringRef FieldName
¶std::vector<Record*> getValueAsListOfDefs(
llvm::StringRef FieldName) const
std::vector<Record*> getValueAsListOfDefs(
llvm::StringRef FieldName) const
Description
This method looks up the specified field and returns its value as a vector of records, throwing an exception if the field does not exist or if the value is not the right type.
Declared at: llvm/include/llvm/TableGen/Record.h:1649
Parameters
- llvm::StringRef FieldName
¶std::vector<int64_t> getValueAsListOfInts(
llvm::StringRef FieldName) const
std::vector<int64_t> getValueAsListOfInts(
llvm::StringRef FieldName) const
Description
This method looks up the specified field and returns its value as a vector of integers, throwing an exception if the field does not exist or if the value is not the right type.
Declared at: llvm/include/llvm/TableGen/Record.h:1654
Parameters
- llvm::StringRef FieldName
¶std::vector<StringRef> getValueAsListOfStrings(
llvm::StringRef FieldName) const
std::vector<StringRef> getValueAsListOfStrings(
llvm::StringRef FieldName) const
Description
This method looks up the specified field and returns its value as a vector of strings, throwing an exception if the field does not exist or if the value is not the right type.
Declared at: llvm/include/llvm/TableGen/Record.h:1659
Parameters
- llvm::StringRef FieldName
¶llvm::Record* getValueAsOptionalDef(
llvm::StringRef FieldName) const
llvm::Record* getValueAsOptionalDef(
llvm::StringRef FieldName) const
Description
This method looks up the specified field and returns its value as a Record, returning null if the field exists but is "uninitialized" (i.e. set to `?`), and throwing an exception if the field does not exist or if its value is not the right type.
Declared at: llvm/include/llvm/TableGen/Record.h:1670
Parameters
- llvm::StringRef FieldName
¶llvm::StringRef getValueAsString(
llvm::StringRef FieldName) const
llvm::StringRef getValueAsString(
llvm::StringRef FieldName) const
Description
This method looks up the specified field and returns its value as a string, throwing an exception if the field does not exist or if the value is not a string.
Declared at: llvm/include/llvm/TableGen/Record.h:1634
Parameters
- llvm::StringRef FieldName
¶llvm::Init* getValueInit(
llvm::StringRef FieldName) const
llvm::Init* getValueInit(
llvm::StringRef FieldName) const
Description
Return the initializer for a value with the specified name, or throw an exception if the field does not exist.
Declared at: llvm/include/llvm/TableGen/Record.h:1624
Parameters
- llvm::StringRef FieldName
¶ArrayRef<llvm::RecordVal> getValues() const
ArrayRef<llvm::RecordVal> getValues() const
Declared at: llvm/include/llvm/TableGen/Record.h:1507
¶bool isAnonymous() const
bool isAnonymous() const
Declared at: llvm/include/llvm/TableGen/Record.h:1611
¶bool isClass() const
bool isClass() const
Declared at: llvm/include/llvm/TableGen/Record.h:1501
¶bool isSubClassOf(const llvm::Record* R) const
bool isSubClassOf(const llvm::Record* R) const
Declared at: llvm/include/llvm/TableGen/Record.h:1563
Parameters
- const llvm::Record* R
¶bool isSubClassOf(llvm::StringRef Name) const
bool isSubClassOf(llvm::StringRef Name) const
Declared at: llvm/include/llvm/TableGen/Record.h:1570
Parameters
- llvm::StringRef Name
¶bool isTemplateArg(llvm::Init* Name) const
bool isTemplateArg(llvm::Init* Name) const
Declared at: llvm/include/llvm/TableGen/Record.h:1516
Parameters
- llvm::Init* Name
¶bool isValueUnset(llvm::StringRef FieldName) const
bool isValueUnset(llvm::StringRef FieldName) const
Description
Return true if the named field is unset.
Declared at: llvm/include/llvm/TableGen/Record.h:1627
Parameters
- llvm::StringRef FieldName
¶void print(llvm::raw_ostream& OS) const
void print(llvm::raw_ostream& OS) const
Declared at: llvm/include/llvm/TableGen/Record.h:1615
Parameters
¶void removeValue(llvm::Init* Name)
void removeValue(llvm::Init* Name)
Declared at: llvm/include/llvm/TableGen/Record.h:1550
Parameters
- llvm::Init* Name
¶void removeValue(llvm::StringRef Name)
void removeValue(llvm::StringRef Name)
Declared at: llvm/include/llvm/TableGen/Record.h:1559
Parameters
- llvm::StringRef Name
¶void resolveReferences(
llvm::Resolver& R,
const llvm::RecordVal* SkipVal = nullptr)
void resolveReferences(
llvm::Resolver& R,
const llvm::RecordVal* SkipVal = nullptr)
Description
Apply the resolver to the name of the record as well as to the initializers of all fields of the record except SkipVal. The resolver should not resolve any of the fields itself, to avoid recursion / infinite loops.
Declared at: llvm/include/llvm/TableGen/Record.h:1600
Parameters
- llvm::Resolver& R
- const llvm::RecordVal* SkipVal = nullptr
¶void resolveReferences()
void resolveReferences()
Description
If there are any field references that refer to fields that have been filled in, we can propagate the values now. This is a final resolve: any error messages, e.g. due to undefined !cast references, are generated now.
Declared at: llvm/include/llvm/TableGen/Record.h:1593
¶void resolveReferencesTo(
const llvm::RecordVal* RV)
void resolveReferencesTo(
const llvm::RecordVal* RV)
Description
If anything in this record refers to RV, replace the reference to RV with the RHS of RV. If RV is null, we resolve all possible references.
Declared at: llvm/include/llvm/TableGen/Record.h:1605
Parameters
- const llvm::RecordVal* RV
¶void setName(llvm::Init* Name)
void setName(llvm::Init* Name)
Declared at: llvm/include/llvm/TableGen/Record.h:1490
Parameters
- llvm::Init* Name