class Init

Declaration

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

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

Member Variables

protected uint8_t Opc

Method Overview

Methods

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

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

Parameters

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

Init(const llvm::Init&)

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

Parameters

const llvm::Init&

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

Description

This method is used to implement the list slice selection operator. Given an initializer, it selects the specified list elements, returning them as a new init of list type. If it is not legal to take a slice of this, return null.

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

Parameters

ArrayRef<unsigned int> Elements

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

Description

This method is used to implement the bitrange selection operator. Given an initializer, it selects the specified bits out, returning them as a new init of bits type. If it is not legal to use the bit subscript operator on this initializer, return null.

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

Parameters

ArrayRef<unsigned int> Bits

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

Description

Convert to an initializer whose type is-a Ty, or return nullptr if this is not possible (this can happen if the initializer's type is convertible to Ty, but there are unresolved references).

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

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:371

virtual std::string getAsString() const

Description

Convert this value to a string form.

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

virtual std::string getAsUnquotedString() const

Description

Convert this value to a string form, without adding quote markers. This primaruly affects StringInits where we will not surround the string value with quotes.

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

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

Description

This method is used to return the initializer for the specified bit.

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

Parameters

unsigned int Bit

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

Description

If this initializer is convertible to Ty, return an initializer whose type is-a Ty, generating a !cast operation if required. Otherwise, return nullptr.

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

Parameters

llvm::RecTy* Ty

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

Description

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

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

Parameters

llvm::StringInit* FieldName

llvm::Init::InitKind getKind() const

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

virtual bool isComplete() const

Description

This virtual method should be overridden by values that may not be completely specified yet.

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

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:356

void print(llvm::raw_ostream& OS) const

Description

Print out this value.

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

Parameters

llvm::raw_ostream& OS

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

Description

This method 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:410

Parameters

llvm::Resolver& R

virtual ~Init()

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