LLVM API Documentation
#include <Record.h>
Public Member Functions | |
RecTy * | getType () const |
Init * | convertInitializerBitRange (const std::vector< unsigned > &Bits) const override |
Init * | convertInitListSlice (const std::vector< unsigned > &Elements) const override |
RecTy * | getFieldType (const std::string &FieldName) const override |
virtual Init * | resolveListElementReference (Record &R, const RecordVal *RV, unsigned Elt) const =0 |
Static Public Member Functions | |
static bool | classof (const Init *I) |
Protected Member Functions | |
TypedInit (InitKind K, RecTy *T) |
TypedInit - This is the common super-class of types that have a specific, explicit, type.
static bool llvm::TypedInit::classof | ( | const Init * | I | ) | [inline, static] |
Reimplemented in llvm::DagInit, llvm::FieldInit, llvm::DefInit, llvm::VarListElementInit, llvm::VarInit, llvm::TernOpInit, llvm::BinOpInit, llvm::UnOpInit, llvm::OpInit, llvm::ListInit, llvm::StringInit, llvm::IntInit, and llvm::BitsInit.
Definition at line 571 of file Record.h.
References llvm::Init::getKind(), llvm::Init::IK_FirstTypedInit, and llvm::Init::IK_LastTypedInit.
Init * TypedInit::convertInitializerBitRange | ( | const std::vector< unsigned > & | Bits | ) | const [override, virtual] |
convertInitializerBitRange - This method is used to implement the bitrange selection operator. Given an initializer, it selects the specified bits out, returning them as a new init of bits type. If it is not legal to use the bit subscript operator on this initializer, return null.
Reimplemented from llvm::Init.
Reimplemented in llvm::IntInit, and llvm::BitsInit.
Definition at line 1290 of file Record.cpp.
References llvm::dyn_cast(), llvm::BitsInit::get(), llvm::VarBitInit::get(), llvm::BitsRecTy::getNumBits(), and getType().
Init * TypedInit::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::Init.
Reimplemented in llvm::ListInit.
Definition at line 1306 of file Record.cpp.
References llvm::dyn_cast(), llvm::ListInit::get(), llvm::VarListElementInit::get(), and getType().
RecTy * TypedInit::getFieldType | ( | const std::string & | FieldName | ) | const [override, virtual] |
getFieldType - This method is used to implement the FieldInit class. Implementors of this method should return the type of the named field if they are of record type.
Reimplemented from llvm::Init.
Reimplemented in llvm::DefInit, and llvm::VarInit.
Definition at line 1282 of file Record.cpp.
References llvm::tgtok::Field, and getType().
RecTy* llvm::TypedInit::getType | ( | ) | const [inline] |
Definition at line 575 of file Record.h.
Referenced by llvm::UnOpInit::clone(), llvm::BinOpInit::clone(), llvm::TernOpInit::clone(), convertInitializerBitRange(), convertInitListSlice(), llvm::ListInit::convertInitListSlice(), llvm::BitRecTy::convertValue(), llvm::BitsRecTy::convertValue(), llvm::IntRecTy::convertValue(), llvm::StringRecTy::convertValue(), llvm::ListRecTy::convertValue(), llvm::DagRecTy::convertValue(), llvm::RecordRecTy::convertValue(), EvaluateOperation(), llvm::UnOpInit::Fold(), llvm::BinOpInit::Fold(), llvm::TernOpInit::Fold(), llvm::RecordRecTy::get(), llvm::UnOpInit::getAsString(), llvm::OpInit::getBit(), llvm::VarInit::getBit(), llvm::VarListElementInit::getBit(), llvm::FieldInit::getBit(), llvm::VarInit::getFieldInit(), getFieldType(), llvm::VarInit::getFieldType(), llvm::ListInit::Profile(), llvm::ListInit::resolveReferences(), llvm::UnOpInit::resolveReferences(), llvm::BinOpInit::resolveReferences(), and llvm::TernOpInit::resolveReferences().
virtual Init* llvm::TypedInit::resolveListElementReference | ( | Record & | R, |
const RecordVal * | RV, | ||
unsigned | Elt | ||
) | const [pure 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.
Implemented in llvm::DagInit, llvm::FieldInit, llvm::DefInit, llvm::VarListElementInit, llvm::VarInit, llvm::OpInit, llvm::ListInit, llvm::StringInit, llvm::IntInit, and llvm::BitsInit.
Referenced by llvm::OpInit::resolveListElementReference(), and llvm::VarListElementInit::resolveListElementReference().