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:1369
Inherits from: TypedInit, FoldingSetBase::Node, TrailingObjects
Member Variables
- private llvm::Init* Val
- private llvm::StringInit* ValName
- private unsigned int NumArgs
- private unsigned int NumArgNames
Inherited from Init:
Method Overview
- private DagInit(llvm::Init * V, llvm::StringInit * VN, unsigned int NumArgs, unsigned int NumArgNames)
- 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<std::pair<Init *, StringInit *>> Args)
- public static llvm::DagInit * get(llvm::Init * V, llvm::StringInit * VN, ArrayRef<llvm::Init *> ArgRange, ArrayRef<llvm::StringInit *> NameRange)
- 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
- private size_t numTrailingObjects(OverloadToken<llvm::Init *>) const
- public llvm::Init * resolveReferences(llvm::Resolver & R) const
Inherited from FoldingSetBase::Node:
Inherited from TypedInit:
- public classof
- public convertInitListSlice
- public convertInitializerBitRange
- public convertInitializerTo
- public getCastTo
- public getFieldType
- public getRecordKeeper
- public getType
Inherited from Init:
- public convertInitListSlice
- public convertInitializerBitRange
- public convertInitializerTo
- public dump
- public getAsString
- public getAsUnquotedString
- public getBit
- public getCastTo
- public getFieldType
- public getKind
- public getRecordKeeper
- public isComplete
- public isConcrete
- public print
- public resolveReferences
Methods
¶DagInit(llvm::Init* V,
llvm::StringInit* VN,
unsigned int NumArgs,
unsigned int NumArgNames)
DagInit(llvm::Init* V,
llvm::StringInit* VN,
unsigned int NumArgs,
unsigned int NumArgNames)
Declared at: llvm/include/llvm/TableGen/Record.h:1378
Parameters
- llvm::Init* V
- llvm::StringInit* VN
- unsigned int NumArgs
- unsigned int NumArgNames
¶DagInit(const llvm::DagInit&)
DagInit(const llvm::DagInit&)
Declared at: llvm/include/llvm/TableGen/Record.h:1385
Parameters
- const llvm::DagInit&
¶void Profile(llvm::FoldingSetNodeID& ID) const
void Profile(llvm::FoldingSetNodeID& ID) const
Declared at: llvm/include/llvm/TableGen/Record.h:1397
Parameters
¶inline llvm::DagInit::const_arg_iterator
arg_begin() const
inline llvm::DagInit::const_arg_iterator
arg_begin() const
Declared at: llvm/include/llvm/TableGen/Record.h:1441
¶inline bool arg_empty() const
inline bool arg_empty() const
Declared at: llvm/include/llvm/TableGen/Record.h:1445
¶inline llvm::DagInit::const_arg_iterator arg_end()
const
inline llvm::DagInit::const_arg_iterator arg_end()
const
Declared at: llvm/include/llvm/TableGen/Record.h:1442
¶inline size_t arg_size() const
inline size_t arg_size() const
Declared at: llvm/include/llvm/TableGen/Record.h:1444
¶static bool classof(const llvm::Init* I)
static bool classof(const llvm::Init* I)
Declared at: llvm/include/llvm/TableGen/Record.h:1388
Parameters
- const llvm::Init* I
¶static llvm::DagInit* get(
llvm::Init* V,
llvm::StringInit* VN,
ArrayRef<std::pair<Init*, StringInit*>> Args)
static llvm::DagInit* get(
llvm::Init* V,
llvm::StringInit* VN,
ArrayRef<std::pair<Init*, StringInit*>> Args)
Declared at: llvm/include/llvm/TableGen/Record.h:1394
Parameters
- llvm::Init* V
- llvm::StringInit* VN
- ArrayRef<std::pair<Init*, StringInit*>> Args
¶static llvm::DagInit* get(
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<llvm::Init*> ArgRange,
ArrayRef<llvm::StringInit*> NameRange)
Declared at: llvm/include/llvm/TableGen/Record.h:1392
Parameters
- llvm::Init* V
- llvm::StringInit* VN
- ArrayRef<llvm::Init*> ArgRange
- ArrayRef<llvm::StringInit*> NameRange
¶llvm::Init* getArg(unsigned int Num) const
llvm::Init* getArg(unsigned int Num) const
Declared at: llvm/include/llvm/TableGen/Record.h:1410
Parameters
- unsigned int Num
¶llvm::StringInit* getArgName(
unsigned int Num) const
llvm::StringInit* getArgName(
unsigned int Num) const
Declared at: llvm/include/llvm/TableGen/Record.h:1415
Parameters
- unsigned int Num
¶llvm::StringRef getArgNameStr(
unsigned int Num) const
llvm::StringRef getArgNameStr(
unsigned int Num) const
Declared at: llvm/include/llvm/TableGen/Record.h:1420
Parameters
- unsigned int Num
¶ArrayRef<llvm::StringInit*> getArgNames() const
ArrayRef<llvm::StringInit*> getArgNames() const
Declared at: llvm/include/llvm/TableGen/Record.h:1429
¶ArrayRef<llvm::Init*> getArgs() const
ArrayRef<llvm::Init*> getArgs() const
Declared at: llvm/include/llvm/TableGen/Record.h:1425
¶std::string getAsString() const
std::string getAsString() const
Description
Convert this value to a literal form.
Declared at: llvm/include/llvm/TableGen/Record.h:1436
¶llvm::Init* getBit(unsigned int Bit) const
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:1453
Parameters
- unsigned int Bit
¶llvm::StringInit* getName() const
llvm::StringInit* getName() const
Declared at: llvm/include/llvm/TableGen/Record.h:1402
¶llvm::StringRef getNameStr() const
llvm::StringRef getNameStr() const
Declared at: llvm/include/llvm/TableGen/Record.h:1404
¶unsigned int getNumArgs() const
unsigned int getNumArgs() const
Declared at: llvm/include/llvm/TableGen/Record.h:1408
¶llvm::Init* getOperator() const
llvm::Init* getOperator() const
Declared at: llvm/include/llvm/TableGen/Record.h:1399
¶llvm::Record* getOperatorAsDef(
ArrayRef<llvm::SMLoc> Loc) const
llvm::Record* getOperatorAsDef(
ArrayRef<llvm::SMLoc> Loc) const
Declared at: llvm/include/llvm/TableGen/Record.h:1400
Parameters
- ArrayRef<llvm::SMLoc> Loc
¶bool isConcrete() const
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:1435
¶inline llvm::DagInit::const_name_iterator
name_begin() const
inline llvm::DagInit::const_name_iterator
name_begin() const
Declared at: llvm/include/llvm/TableGen/Record.h:1447
¶inline bool name_empty() const
inline bool name_empty() const
Declared at: llvm/include/llvm/TableGen/Record.h:1451
¶inline llvm::DagInit::const_name_iterator
name_end() const
inline llvm::DagInit::const_name_iterator
name_end() const
Declared at: llvm/include/llvm/TableGen/Record.h:1448
¶inline size_t name_size() const
inline size_t name_size() const
Declared at: llvm/include/llvm/TableGen/Record.h:1450
¶size_t numTrailingObjects(
OverloadToken<llvm::Init*>) const
size_t numTrailingObjects(
OverloadToken<llvm::Init*>) const
Declared at: llvm/include/llvm/TableGen/Record.h:1382
Parameters
- OverloadToken<llvm::Init*>
¶llvm::Init* resolveReferences(
llvm::Resolver& R) const
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:1433