class Init

Declaration

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

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

Member Variables

private const llvm::Init::InitKind Kind
protected uint8_t Opc

Method Overview

Methods

Init(llvm::Init::InitKind K, uint8_t Opc = 0)

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

Parameters

llvm::Init::InitKind K
uint8_t Opc = 0

Init(const llvm::Init&)

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

Parameters

const llvm::Init&

virtual void anchor()

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

virtual llvm::Init* convertInitListSlice(
    ArrayRef<unsigned int> Elements) const

Description

This function is used to implement the list slice selection operator. Given a value, it selects the specified list elements, returning them as a new \p Init of type \p list. If it is not legal to use the slice operator, null is returned.

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

Parameters

ArrayRef<unsigned int> Elements

virtual llvm::Init* convertInitializerBitRange(
    ArrayRef<unsigned int> Bits) const

Description

This function is used to implement the bit range selection operator. Given a value, it selects the specified bits, returning them as a new \p Init of type \p bits. If it is not legal to use the bit selection operator on this value, null is returned.

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

Parameters

ArrayRef<unsigned int> Bits

virtual llvm::Init* convertInitializerTo(
    llvm::RecTy* Ty) const

Description

Convert to a value whose type is \p Ty, or return null if this is not possible. This can happen if the value's type is convertible to \p Ty, but there are unresolved references.

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

Parameters

llvm::RecTy* Ty

void dump() const

Description

Debugging method that may be called through a debugger; just invokes print on stderr.

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

virtual std::string getAsString() const

Description

Convert this value to a literal form.

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

virtual std::string getAsUnquotedString() const

Description

Convert this value to a literal form, without adding quotes around a string.

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

virtual llvm::Init* getBit(unsigned int Bit) const

Description

Get the \p Init value of the specified bit.

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

Parameters

unsigned int Bit

virtual llvm::Init* getCastTo(
    llvm::RecTy* Ty) const

Description

If this value is convertible to type \p Ty, return a value whose type is \p Ty, generating a !cast operation if required. Otherwise, return null.

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

Parameters

llvm::RecTy* Ty

virtual llvm::RecTy* getFieldType(
    llvm::StringInit* FieldName) const

Description

This function is used to implement the FieldInit class. Implementors of this method should return the type of the named field if they are of type record.

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

Parameters

llvm::StringInit* FieldName

llvm::Init::InitKind getKind() const

Description

Get the kind (type) of the value.

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

llvm::RecordKeeper& getRecordKeeper() const

Description

Get the record keeper that initialized this Init.

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

virtual bool isComplete() const

Description

Is this a complete value with no unset (uninitialized) subvalues?

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

virtual bool isConcrete() const

Description

Is this a concrete and fully resolved value without any references or stuck operations? Unset values are concrete.

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

void print(llvm::raw_ostream& OS) const

Description

Print this value.

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

Parameters

llvm::raw_ostream& OS

virtual llvm::Init* resolveReferences(
    llvm::Resolver& R) const

Description

This function is used by classes that refer to other variables which may not be defined at the time the expression is formed. If a value is set for the variable later, this method will be called on users of the value to allow the value to propagate out.

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

Parameters

llvm::Resolver& R

virtual ~Init()

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