LLVM API Documentation
#include <Record.h>
Public Types | |
typedef std::vector< Init * > ::const_iterator | const_iterator |
Public Member Functions | |
void | Profile (FoldingSetNodeID &ID) const |
unsigned | getSize () const |
Init * | getElement (unsigned i) const |
Record * | getElementAsRecord (unsigned i) const |
Init * | convertInitListSlice (const std::vector< unsigned > &Elements) const override |
Init * | convertInitializerTo (RecTy *Ty) const override |
Init * | resolveReferences (Record &R, const RecordVal *RV) const override |
std::string | getAsString () const override |
getAsString - Convert this value to a string form. | |
ArrayRef< Init * > | getValues () const |
const_iterator | begin () const |
const_iterator | end () const |
size_t | size () const |
bool | empty () const |
Init * | resolveListElementReference (Record &R, const RecordVal *RV, unsigned Elt) const override |
Init * | getBit (unsigned Bit) const override |
Static Public Member Functions | |
static bool | classof (const Init *I) |
static ListInit * | get (ArrayRef< Init * > Range, RecTy *EltTy) |
typedef std::vector<Init*>::const_iterator llvm::ListInit::const_iterator |
const_iterator llvm::ListInit::begin | ( | ) | const [inline] |
Definition at line 838 of file Record.h.
Referenced by llvm::BinOpInit::Fold().
static bool llvm::ListInit::classof | ( | const Init * | I | ) | [inline, static] |
Reimplemented from llvm::TypedInit.
Definition at line 805 of file Record.h.
References llvm::Init::getKind(), and llvm::Init::IK_ListInit.
Init* llvm::ListInit::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 823 of file Record.h.
References llvm::RecTy::convertValue().
Init * ListInit::convertInitListSlice | ( | const std::vector< unsigned > & | Elements | ) | const [override, virtual] |
convertInitListSlice - 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.
Reimplemented from llvm::TypedInit.
Definition at line 663 of file Record.cpp.
References get(), getElement(), getSize(), and llvm::TypedInit::getType().
bool llvm::ListInit::empty | ( | ) | const [inline] |
const_iterator llvm::ListInit::end | ( | ) | const [inline] |
Definition at line 839 of file Record.h.
Referenced by llvm::BinOpInit::Fold().
ListInit * ListInit::get | ( | ArrayRef< Init * > | Range, |
RecTy * | EltTy | ||
) | [static] |
Definition at line 636 of file Record.cpp.
References I, and ProfileListInit().
Referenced by llvm::TypedInit::convertInitListSlice(), convertInitListSlice(), ForeachHelper(), and resolveReferences().
std::string ListInit::getAsString | ( | ) | const [override, virtual] |
getAsString - Convert this value to a string form.
Implements llvm::Init.
Definition at line 716 of file Record.cpp.
Init* llvm::ListInit::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 850 of file Record.h.
References llvm_unreachable.
Init* llvm::ListInit::getElement | ( | unsigned | i | ) | const [inline] |
Definition at line 813 of file Record.h.
Referenced by convertInitListSlice(), llvm::ListRecTy::convertValue(), llvm::Record::getValueAsListOfDefs(), llvm::Record::getValueAsListOfInts(), llvm::Record::getValueAsListOfStrings(), resolveListElementReference(), llvm::VarInit::resolveListElementReference(), and resolveReferences().
Record * ListInit::getElementAsRecord | ( | unsigned | i | ) | const |
Definition at line 673 of file Record.cpp.
References llvm::dyn_cast(), and llvm::PrintFatalError().
unsigned llvm::ListInit::getSize | ( | ) | const [inline] |
Definition at line 812 of file Record.h.
Referenced by convertInitListSlice(), llvm::ListRecTy::convertValue(), llvm::Record::getValueAsListOfDefs(), llvm::Record::getValueAsListOfInts(), llvm::Record::getValueAsListOfStrings(), resolveListElementReference(), llvm::VarInit::resolveListElementReference(), and resolveReferences().
ArrayRef<Init*> llvm::ListInit::getValues | ( | ) | const [inline] |
void ListInit::Profile | ( | FoldingSetNodeID & | ID | ) | const |
Definition at line 654 of file Record.cpp.
References llvm::dyn_cast(), llvm::ListRecTy::getElementType(), llvm::TypedInit::getType(), and ProfileListInit().
Init * ListInit::resolveListElementReference | ( | Record & | R, |
const RecordVal * | RV, | ||
unsigned | Elt | ||
) | const [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 703 of file Record.cpp.
References getElement(), and getSize().
Init * ListInit::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 they 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 681 of file Record.cpp.
References get(), getElement(), getSize(), llvm::TypedInit::getType(), and llvm::Init::resolveReferences().
size_t llvm::ListInit::size | ( | ) | const [inline] |