LLVM 17.0.0git
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::VarDefInit Class Referencefinal

classname<targs...> - Represent an uninstantiated anonymous class instantiation. More...

#include "llvm/TableGen/Record.h"

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

Public Types

using const_iterator = Init *const *
 

Public Member Functions

 VarDefInit (const VarDefInit &)=delete
 
VarDefInitoperator= (const VarDefInit &)=delete
 
void operator delete (void *p)
 
void Profile (FoldingSetNodeID &ID) const
 
InitresolveReferences (Resolver &R) const override
 This function is used by classes that refer to other variables which may not be defined at the time the expression is formed.
 
InitFold () const
 
std::string getAsString () const override
 Convert this value to a literal form.
 
InitgetArg (unsigned i) const
 
const_iterator args_begin () const
 
const_iterator args_end () const
 
size_t args_size () const
 
bool args_empty () const
 
ArrayRef< Init * > args () const
 
InitgetBit (unsigned Bit) const override
 Get the Init value of the specified bit.
 
- Public Member Functions inherited from llvm::TypedInit
 TypedInit (const TypedInit &)=delete
 
TypedInitoperator= (const TypedInit &)=delete
 
RecTygetType () const
 Get the type of the Init as a RecTy.
 
RecordKeepergetRecordKeeper () const
 Get the record keeper that initialized this Init.
 
InitgetCastTo (RecTy *Ty) const override
 If this value is convertible to type Ty, return a value whose type is Ty, generating a !cast operation if required.
 
InitconvertInitializerTo (RecTy *Ty) const override
 Convert to a value whose type is Ty, or return null if this is not possible.
 
InitconvertInitializerBitRange (ArrayRef< unsigned > Bits) const override
 This function is used to implement the bit range selection operator.
 
InitconvertInitListSlice (ArrayRef< unsigned > Elements) const override
 This function is used to implement the list slice selection operator.
 
RecTygetFieldType (StringInit *FieldName) const override
 This method is used to implement the FieldInit class.
 
- Public Member Functions inherited from llvm::Init
InitKind getKind () const
 Get the kind (type) of the value.
 
RecordKeepergetRecordKeeper () const
 Get the record keeper that initialized this Init.
 
 Init (const Init &)=delete
 
Initoperator= (const Init &)=delete
 
virtual ~Init ()=default
 
virtual bool isComplete () const
 Is this a complete value with no unset (uninitialized) subvalues?
 
virtual bool isConcrete () const
 Is this a concrete and fully resolved value without any references or stuck operations? Unset values are concrete.
 
void print (raw_ostream &OS) const
 Print this value.
 
virtual std::string getAsString () const =0
 Convert this value to a literal form.
 
virtual std::string getAsUnquotedString () const
 Convert this value to a literal form, without adding quotes around a string.
 
void dump () const
 Debugging method that may be called through a debugger; just invokes print on stderr.
 
virtual InitgetCastTo (RecTy *Ty) const =0
 If this value is convertible to type Ty, return a value whose type is Ty, generating a !cast operation if required.
 
virtual InitconvertInitializerTo (RecTy *Ty) const =0
 Convert to a value whose type is Ty, or return null if this is not possible.
 
virtual InitconvertInitializerBitRange (ArrayRef< unsigned > Bits) const
 This function is used to implement the bit range selection operator.
 
virtual InitconvertInitListSlice (ArrayRef< unsigned > Elements) const
 This function is used to implement the list slice selection operator.
 
virtual RecTygetFieldType (StringInit *FieldName) const
 This function is used to implement the FieldInit class.
 
virtual InitresolveReferences (Resolver &R) const
 This function is used by classes that refer to other variables which may not be defined at the time the expression is formed.
 
virtual InitgetBit (unsigned Bit) const =0
 Get the Init value of the specified bit.
 
- Public Member Functions inherited from llvm::FoldingSetBase::Node
 Node ()=default
 
void * getNextInBucket () const
 
void SetNextInBucket (void *N)
 
- Public Member Functions inherited from llvm::TrailingObjects< VarDefInit, Init * >
const TgetTrailingObjects () const
 Returns a pointer to the trailing object array of the given type (which must be one of those specified in the class template).
 
TgetTrailingObjects ()
 Returns a pointer to the trailing object array of the given type (which must be one of those specified in the class template).
 
 TrailingObjects ()=default
 
 TrailingObjects (const TrailingObjects &)=delete
 
 TrailingObjects (TrailingObjects &&)=delete
 
TrailingObjectsoperator= (const TrailingObjects &)=delete
 
TrailingObjectsoperator= (TrailingObjects &&)=delete
 

Static Public Member Functions

static bool classof (const Init *I)
 
static VarDefInitget (Record *Class, ArrayRef< Init * > Args)
 
- Static Public Member Functions inherited from llvm::TypedInit
static bool classof (const Init *I)
 
- Static Public Member Functions inherited from llvm::TrailingObjects< VarDefInit, Init * >
static constexpr std::enable_if_t< std::is_same< Foo< TrailingTys... >, Foo< Tys... > >::value, size_t > additionalSizeToAlloc (typename trailing_objects_internal::ExtractSecondType< TrailingTys, size_t >::type... Counts)
 Returns the size of the trailing data, if an object were allocated with the given counts (The counts are in the same order as the template arguments).
 
static constexpr std::enable_if_t< std::is_same< Foo< TrailingTys... >, Foo< Tys... > >::value, size_t > totalSizeToAlloc (typename trailing_objects_internal::ExtractSecondType< TrailingTys, size_t >::type... Counts)
 Returns the total size of an object if it were allocated with the given trailing object counts.
 

Additional Inherited Members

- Protected Types inherited from llvm::Init
enum  InitKind : uint8_t {
  IK_First , IK_FirstTypedInit , IK_BitInit , IK_BitsInit ,
  IK_DagInit , IK_DefInit , IK_FieldInit , IK_IntInit ,
  IK_ListInit , IK_FirstOpInit , IK_BinOpInit , IK_TernOpInit ,
  IK_UnOpInit , IK_LastOpInit , IK_CondOpInit , IK_FoldOpInit ,
  IK_IsAOpInit , IK_ExistsOpInit , IK_AnonymousNameInit , IK_StringInit ,
  IK_VarInit , IK_VarListElementInit , IK_VarBitInit , IK_VarDefInit ,
  IK_LastTypedInit , IK_UnsetInit
}
 Discriminator enum (for isa<>, dyn_cast<>, et al.) More...
 
- Protected Member Functions inherited from llvm::TypedInit
 TypedInit (InitKind K, RecTy *T, uint8_t Opc=0)
 
- Protected Member Functions inherited from llvm::Init
 Init (InitKind K, uint8_t Opc=0)
 
- Protected Attributes inherited from llvm::Init
uint8_t Opc
 

Detailed Description

classname<targs...> - Represent an uninstantiated anonymous class instantiation.

Definition at line 1301 of file Record.h.

Member Typedef Documentation

◆ const_iterator

Definition at line 1335 of file Record.h.

Constructor & Destructor Documentation

◆ VarDefInit()

llvm::VarDefInit::VarDefInit ( const VarDefInit )
delete

Member Function Documentation

◆ args()

ArrayRef< Init * > llvm::VarDefInit::args ( ) const
inline

Definition at line 1343 of file Record.h.

References args_begin().

Referenced by Fold(), getAsString(), Profile(), and resolveReferences().

◆ args_begin()

const_iterator llvm::VarDefInit::args_begin ( ) const
inline

Definition at line 1337 of file Record.h.

Referenced by args(), and args_end().

◆ args_empty()

bool llvm::VarDefInit::args_empty ( ) const
inline

Definition at line 1341 of file Record.h.

◆ args_end()

const_iterator llvm::VarDefInit::args_end ( ) const
inline

Definition at line 1338 of file Record.h.

References args_begin().

◆ args_size()

size_t llvm::VarDefInit::args_size ( ) const
inline

Definition at line 1340 of file Record.h.

Referenced by resolveReferences().

◆ classof()

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

Definition at line 1318 of file Record.h.

References I, and llvm::Init::IK_VarDefInit.

◆ Fold()

Init * VarDefInit::Fold ( ) const

Definition at line 2108 of file Record.cpp.

References Arg, and args().

◆ get()

VarDefInit * VarDefInit::get ( Record Class,
ArrayRef< Init * >  Args 
)
static

◆ getArg()

Init * llvm::VarDefInit::getArg ( unsigned  i) const
inline

Definition at line 1330 of file Record.h.

References assert().

◆ getAsString()

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

Convert this value to a literal form.

Implements llvm::Init.

Definition at line 2121 of file Record.cpp.

References Arg, args(), and llvm::Record::getNameInitAsString().

◆ getBit()

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

Get the Init value of the specified bit.

Implements llvm::Init.

Definition at line 1345 of file Record.h.

References llvm_unreachable.

◆ operator delete()

void llvm::VarDefInit::operator delete ( void *  p)
inline

Definition at line 1316 of file Record.h.

◆ operator=()

VarDefInit & llvm::VarDefInit::operator= ( const VarDefInit )
delete

◆ Profile()

void VarDefInit::Profile ( FoldingSetNodeID ID) const

Definition at line 2031 of file Record.cpp.

References args(), and ProfileVarDefInit().

◆ resolveReferences()

Init * VarDefInit::resolveReferences ( Resolver R) const
overridevirtual

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.

Reimplemented from llvm::Init.

Definition at line 2087 of file Record.cpp.

References Arg, args(), args_size(), llvm::TrackUnresolvedResolver::foundUnresolved(), get(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorImpl< T >::reserve().


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