LLVM  3.7.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::DagInit Class Reference

DagInit - (v a, b) - Represent a DAG tree value. More...

#include <Record.h>

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

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
 convertInitializerTo - This virtual function converts to the appropriate Init based on the passed in type. More...
 
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
 resolveReferences - This method is used by classes that refer to other variables which may not be defined at the time the expression is formed. More...
 
std::string getAsString () const override
 getAsString - Convert this value to a string form. More...
 
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
 getBit - This method is used to return the initializer for the specified bit. More...
 
InitresolveListElementReference (Record &R, const RecordVal *RV, unsigned Elt) const override
 resolveListElementReference - This method is used to implement VarListElementInit::resolveReferences. More...
 
- Public Member Functions inherited from llvm::TypedInit
RecTygetType () const
 
InitconvertInitializerBitRange (const std::vector< unsigned > &Bits) const override
 convertInitializerBitRange - This method is used to implement the bitrange selection operator. More...
 
InitconvertInitListSlice (const std::vector< unsigned > &Elements) const override
 convertInitListSlice - This method is used to implement the list slice selection operator. More...
 
RecTygetFieldType (const std::string &FieldName) const override
 getFieldType - This method is used to implement the FieldInit class. More...
 
- Public Member Functions inherited from llvm::Init
InitKind getKind () const
 
virtual ~Init ()
 
virtual bool isComplete () const
 isComplete - This virtual method should be overridden by values that may not be completely specified yet. More...
 
void print (raw_ostream &OS) const
 print - Print out this value. More...
 
virtual std::string getAsUnquotedString () const
 getAsUnquotedString - Convert this value to a string form, without adding quote markers. More...
 
void dump () const
 dump - Debugging method that may be called through a debugger, just invokes print on stderr. More...
 
virtual InitgetFieldInit (Record &R, const RecordVal *RV, const std::string &FieldName) const
 getFieldInit - This method complements getFieldType to return the initializer for the specified field. More...
 
virtual InitgetBitVar () const
 getBitVar - This method is used to retrieve the initializer for bit reference. More...
 
virtual unsigned getBitNum () const
 getBitNum - This method is used to retrieve the bit number of a bit reference. More...
 
- Public Member Functions inherited from llvm::FoldingSetImpl::Node
 Node ()
 
void * getNextInBucket () const
 
void SetNextInBucket (void *N)
 

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)
 
- Static Public Member Functions inherited from llvm::TypedInit
static bool classof (const Init *I)
 

Additional Inherited Members

- Protected Types inherited from llvm::Init
enum  InitKind {
  IK_BitInit, IK_FirstTypedInit, IK_BitsInit, IK_DagInit,
  IK_DefInit, IK_FieldInit, IK_IntInit, IK_ListInit,
  IK_FirstOpInit, IK_BinOpInit, IK_TernOpInit, IK_UnOpInit,
  IK_LastOpInit, IK_StringInit, IK_VarInit, IK_VarListElementInit,
  IK_LastTypedInit, IK_UnsetInit, IK_VarBitInit
}
 Discriminator enum (for isa<>, dyn_cast<>, et al.) More...
 
- Protected Member Functions inherited from llvm::TypedInit
 TypedInit (InitKind K, RecTy *T)
 
 ~TypedInit ()
 
- Protected Member Functions inherited from llvm::Init
 Init (InitKind K)
 

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 1032 of file Record.h.

Member Typedef Documentation

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

Definition at line 1081 of file Record.h.

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

Definition at line 1082 of file Record.h.

Member Function Documentation

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

Definition at line 1084 of file Record.h.

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

Definition at line 1088 of file Record.h.

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

Definition at line 1085 of file Record.h.

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

Definition at line 1087 of file Record.h.

static bool llvm::DagInit::classof ( const Init I)
inlinestatic

Definition at line 1049 of file Record.h.

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

Init * DagInit::convertInitializerTo ( RecTy Ty) const
overridevirtual

convertInitializerTo - This virtual function converts to the appropriate Init based on the passed in type.

Reimplemented from llvm::TypedInit.

Definition at line 1489 of file Record.cpp.

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

Definition at line 1472 of file Record.cpp.

References get().

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

Definition at line 1068 of file Record.h.

Referenced by llvm::BinOpInit::Fold().

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

Definition at line 1072 of file Record.h.

Referenced by llvm::BinOpInit::Fold().

std::string DagInit::getAsString ( ) const
overridevirtual

getAsString - Convert this value to a string form.

Implements llvm::Init.

Definition at line 1510 of file Record.cpp.

References llvm::Init::getAsString().

Init* llvm::DagInit::getBit ( unsigned  Bit) const
inlineoverridevirtual

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

Implements llvm::Init.

Definition at line 1096 of file Record.h.

References llvm_unreachable.

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

Definition at line 1065 of file Record.h.

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

Definition at line 1067 of file Record.h.

Referenced by llvm::BinOpInit::Fold().

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

Definition at line 1063 of file Record.h.

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

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

Definition at line 1090 of file Record.h.

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

Definition at line 1094 of file Record.h.

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

Definition at line 1091 of file Record.h.

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

Definition at line 1093 of file Record.h.

void DagInit::Profile ( FoldingSetNodeID ID) const

Definition at line 1485 of file Record.cpp.

References ProfileDagInit().

Init* llvm::DagInit::resolveListElementReference ( Record R,
const RecordVal RV,
unsigned  Elt 
) const
inlineoverridevirtual

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 1100 of file Record.h.

References llvm_unreachable.

Init * DagInit::resolveReferences ( Record R,
const RecordVal RV 
) const
overridevirtual

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 1496 of file Record.cpp.

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


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