class DagInit

Declaration

class DagInit : public TypedInit, public Node, public TrailingObjects { /* full declaration omitted */ };

Description

(v a, b) - Represent a DAG tree value. DAG inits are required to have at least one value then a (possibly empty) list of arguments. Each argument can have a name associated with it.

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

Inherits from: TypedInit, FoldingSetBase::Node, TrailingObjects

Member Variables

Inherited from Init:

protected Opc

Method Overview

  • public DagInit(const llvm::DagInit &)
  • public void Profile(llvm::FoldingSetNodeID & ID) const
  • public inline llvm::DagInit::const_arg_iterator arg_begin() const
  • public inline bool arg_empty() const
  • public inline llvm::DagInit::const_arg_iterator arg_end() const
  • public inline size_t arg_size() const
  • public static bool classof(const llvm::Init * I)
  • public static llvm::DagInit * get(llvm::Init * V, llvm::StringInit * VN, ArrayRef<llvm::Init *> ArgRange, ArrayRef<llvm::StringInit *> NameRange)
  • public static llvm::DagInit * get(llvm::Init * V, llvm::StringInit * VN, ArrayRef<std::pair<Init *, StringInit *>> Args)
  • public llvm::Init * getArg(unsigned int Num) const
  • public llvm::StringInit * getArgName(unsigned int Num) const
  • public llvm::StringRef getArgNameStr(unsigned int Num) const
  • public ArrayRef<llvm::StringInit *> getArgNames() const
  • public ArrayRef<llvm::Init *> getArgs() const
  • public std::string getAsString() const
  • public llvm::Init * getBit(unsigned int Bit) const
  • public llvm::StringInit * getName() const
  • public llvm::StringRef getNameStr() const
  • public unsigned int getNumArgs() const
  • public llvm::Init * getOperator() const
  • public llvm::Record * getOperatorAsDef(ArrayRef<llvm::SMLoc> Loc) const
  • public bool isConcrete() const
  • public inline llvm::DagInit::const_name_iterator name_begin() const
  • public inline bool name_empty() const
  • public inline llvm::DagInit::const_name_iterator name_end() const
  • public inline size_t name_size() const
  • public llvm::Init * resolveReferences(llvm::Resolver & R) const

Inherited from FoldingSetBase::Node:

Inherited from TypedInit:

Inherited from Init:

Methods

DagInit(const llvm::DagInit&)

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

Parameters

const llvm::DagInit&

void Profile(llvm::FoldingSetNodeID& ID) const

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

Parameters

llvm::FoldingSetNodeID& ID

inline llvm::DagInit::const_arg_iterator
arg_begin() const

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

inline bool arg_empty() const

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

inline llvm::DagInit::const_arg_iterator arg_end()
    const

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

inline size_t arg_size() const

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

static bool classof(const llvm::Init* I)

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

Parameters

const llvm::Init* I

static llvm::DagInit* get(
    llvm::Init* V,
    llvm::StringInit* VN,
    ArrayRef<llvm::Init*> ArgRange,
    ArrayRef<llvm::StringInit*> NameRange)

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

Parameters

llvm::Init* V
llvm::StringInit* VN
ArrayRef<llvm::Init*> ArgRange
ArrayRef<llvm::StringInit*> NameRange

static llvm::DagInit* get(
    llvm::Init* V,
    llvm::StringInit* VN,
    ArrayRef<std::pair<Init*, StringInit*>> Args)

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

Parameters

llvm::Init* V
llvm::StringInit* VN
ArrayRef<std::pair<Init*, StringInit*>> Args

llvm::Init* getArg(unsigned int Num) const

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

Parameters

unsigned int Num

llvm::StringInit* getArgName(
    unsigned int Num) const

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

Parameters

unsigned int Num

llvm::StringRef getArgNameStr(
    unsigned int Num) const

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

Parameters

unsigned int Num

ArrayRef<llvm::StringInit*> getArgNames() const

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

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

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

std::string getAsString() const

Description

Convert this value to a string form.

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

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

Parameters

unsigned int Bit

llvm::StringInit* getName() const

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

llvm::StringRef getNameStr() const

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

unsigned int getNumArgs() const

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

llvm::Init* getOperator() const

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

llvm::Record* getOperatorAsDef(
    ArrayRef<llvm::SMLoc> Loc) const

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

Parameters

ArrayRef<llvm::SMLoc> Loc

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

inline llvm::DagInit::const_name_iterator
name_begin() const

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

inline bool name_empty() const

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

inline llvm::DagInit::const_name_iterator
name_end() const

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

inline size_t name_size() const

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

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

Parameters

llvm::Resolver& R