LLVM API Documentation

Public Types | Public Member Functions | Static Public Member Functions
llvm::DagInit Class Reference

#include <Record.h>

Inheritance diagram for llvm::DagInit:
Inheritance graph
[legend]
Collaboration diagram for llvm::DagInit:
Collaboration graph
[legend]

List of all members.

Public Types

typedef std::vector< Init * >
::const_iterator 
const_arg_iterator
typedef std::vector
< std::string >
::const_iterator 
const_name_iterator

Public Member Functions

void Profile (FoldingSetNodeID &ID) const
InitconvertInitializerTo (RecTy *Ty) const override
InitgetOperator () const
const std::string & getName () const
unsigned getNumArgs () const
InitgetArg (unsigned Num) const
const std::string & getArgName (unsigned Num) const
InitresolveReferences (Record &R, const RecordVal *RV) const override
std::string getAsString () const override
 getAsString - Convert this value to a string form.
const_arg_iterator arg_begin () const
const_arg_iterator arg_end () const
size_t arg_size () const
bool arg_empty () const
const_name_iterator name_begin () const
const_name_iterator name_end () const
size_t name_size () const
bool name_empty () const
InitgetBit (unsigned Bit) const override
InitresolveListElementReference (Record &R, const RecordVal *RV, unsigned Elt) const override

Static Public Member Functions

static bool classof (const Init *I)
static DagInitget (Init *V, const std::string &VN, ArrayRef< Init * > ArgRange, ArrayRef< std::string > NameRange)
static DagInitget (Init *V, const std::string &VN, const std::vector< std::pair< Init *, std::string > > &args)

Detailed Description

DagInit - (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.

Definition at line 1266 of file Record.h.


Member Typedef Documentation

typedef std::vector<Init*>::const_iterator llvm::DagInit::const_arg_iterator

Definition at line 1317 of file Record.h.

typedef std::vector<std::string>::const_iterator llvm::DagInit::const_name_iterator

Definition at line 1318 of file Record.h.


Member Function Documentation

Definition at line 1320 of file Record.h.

bool llvm::DagInit::arg_empty ( ) const [inline]

Definition at line 1324 of file Record.h.

Definition at line 1321 of file Record.h.

size_t llvm::DagInit::arg_size ( ) const [inline]

Definition at line 1323 of file Record.h.

static bool llvm::DagInit::classof ( const Init I) [inline, static]

Reimplemented from llvm::TypedInit.

Definition at line 1283 of file Record.h.

References llvm::Init::getKind(), and llvm::Init::IK_DagInit.

Init* llvm::DagInit::convertInitializerTo ( RecTy Ty) const [inline, override, virtual]

convertInitializerTo - This virtual function is a simple call-back function that should be overridden to call the appropriate RecTy::convertValue method.

Implements llvm::Init.

Definition at line 1295 of file Record.h.

References llvm::RecTy::convertValue().

DagInit * DagInit::get ( Init V,
const std::string &  VN,
ArrayRef< Init * >  ArgRange,
ArrayRef< std::string >  NameRange 
) [static]

Definition at line 1572 of file Record.cpp.

References I, and ProfileDagInit().

Referenced by ForeachHelper(), get(), and resolveReferences().

DagInit * DagInit::get ( Init V,
const std::string &  VN,
const std::vector< std::pair< Init *, std::string > > &  args 
) [static]

Definition at line 1592 of file Record.cpp.

References get().

Init* llvm::DagInit::getArg ( unsigned  Num) const [inline]

Definition at line 1304 of file Record.h.

Referenced by llvm::BinOpInit::Fold(), and ForeachHelper().

const std::string& llvm::DagInit::getArgName ( unsigned  Num) const [inline]

Definition at line 1308 of file Record.h.

Referenced by llvm::BinOpInit::Fold(), and ForeachHelper().

std::string DagInit::getAsString ( ) const [override, virtual]

getAsString - Convert this value to a string form.

Implements llvm::Init.

Definition at line 1628 of file Record.cpp.

References llvm::Init::getAsString().

Init* llvm::DagInit::getBit ( unsigned  Bit) const [inline, override, virtual]

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

Implements llvm::Init.

Definition at line 1332 of file Record.h.

References llvm_unreachable.

const std::string& llvm::DagInit::getName ( ) const [inline]

Definition at line 1301 of file Record.h.

unsigned llvm::DagInit::getNumArgs ( ) const [inline]

Definition at line 1303 of file Record.h.

Referenced by llvm::BinOpInit::Fold(), and ForeachHelper().

Init* llvm::DagInit::getOperator ( ) const [inline]

Definition at line 1299 of file Record.h.

Referenced by llvm::SetTheory::evaluate(), llvm::BinOpInit::Fold(), and ForeachHelper().

Definition at line 1326 of file Record.h.

bool llvm::DagInit::name_empty ( ) const [inline]

Definition at line 1330 of file Record.h.

Definition at line 1327 of file Record.h.

size_t llvm::DagInit::name_size ( ) const [inline]

Definition at line 1329 of file Record.h.

void DagInit::Profile ( FoldingSetNodeID ID) const

Definition at line 1610 of file Record.cpp.

References ProfileDagInit().

Init* llvm::DagInit::resolveListElementReference ( Record R,
const RecordVal RV,
unsigned  Elt 
) const [inline, override, virtual]

resolveListElementReference - This method is used to implement VarListElementInit::resolveReferences. If the list element is resolvable now, we return the resolved value, otherwise we return null.

Implements llvm::TypedInit.

Definition at line 1336 of file Record.h.

References llvm_unreachable.

Init * DagInit::resolveReferences ( Record R,
const RecordVal RV 
) const [override, virtual]

resolveReferences - 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.

Reimplemented from llvm::Init.

Definition at line 1614 of file Record.cpp.

References get(), and llvm::Init::resolveReferences().


The documentation for this class was generated from the following files: