class Record

Declaration

class Record { /* full declaration omitted */ };

Declared at: llvm/include/llvm/TableGen/Record.h:1427

Method Overview

Methods

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)

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)

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)

Declared at: llvm/include/llvm/TableGen/Record.h:1582

Parameters

llvm::Record* R
llvm::SMRange Range

void addTemplateArg(llvm::Init* Name)

Declared at: llvm/include/llvm/TableGen/Record.h:1540

Parameters

llvm::Init* Name

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)

Declared at: llvm/include/llvm/TableGen/Record.h:1493

Parameters

llvm::SMLoc Loc

void dump() const

Declared at: llvm/include/llvm/TableGen/Record.h:1616

llvm::DefInit* getDefInit()

Description

get the corresponding DefInit.

Declared at: llvm/include/llvm/TableGen/Record.h:1499

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

Declared at: llvm/include/llvm/TableGen/Record.h:1478

ArrayRef<llvm::SMLoc> getLoc() const

Declared at: llvm/include/llvm/TableGen/Record.h:1492

llvm::StringRef getName() const

Declared at: llvm/include/llvm/TableGen/Record.h:1480

llvm::Init* getNameInit() const

Declared at: llvm/include/llvm/TableGen/Record.h:1482

const std::string getNameInitAsString() const

Declared at: llvm/include/llvm/TableGen/Record.h:1486

static unsigned int getNewUID()

Declared at: llvm/include/llvm/TableGen/Record.h:1476

llvm::RecordKeeper& getRecords() const

Declared at: llvm/include/llvm/TableGen/Record.h:1607

ArrayRef<std::pair<Record*, SMRange>>
getSuperClasses() const

Declared at: llvm/include/llvm/TableGen/Record.h:1509

ArrayRef<llvm::Init*> getTemplateArgs() const

Declared at: llvm/include/llvm/TableGen/Record.h:1503

llvm::RecordRecTy* getType()

Declared at: llvm/include/llvm/TableGen/Record.h:1496

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

Declared at: llvm/include/llvm/TableGen/Record.h:1528

Parameters

llvm::StringRef 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)

Declared at: llvm/include/llvm/TableGen/Record.h:1536

Parameters

llvm::StringRef Name

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

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

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

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

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

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

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

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

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

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

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

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

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

Declared at: llvm/include/llvm/TableGen/Record.h:1507

bool isAnonymous() const

Declared at: llvm/include/llvm/TableGen/Record.h:1611

bool isClass() const

Declared at: llvm/include/llvm/TableGen/Record.h:1501

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

Declared at: llvm/include/llvm/TableGen/Record.h:1570

Parameters

llvm::StringRef Name

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

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

Declared at: llvm/include/llvm/TableGen/Record.h:1615

Parameters

llvm::raw_ostream& OS

void removeValue(llvm::Init* Name)

Declared at: llvm/include/llvm/TableGen/Record.h:1550

Parameters

llvm::Init* 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)

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()

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)

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)

Declared at: llvm/include/llvm/TableGen/Record.h:1490

Parameters

llvm::Init* Name