LLVM 19.0.0git
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
llvm::OpInit Class Referenceabstract

Base class for operators. More...

#include "llvm/TableGen/Record.h"

Inheritance diagram for llvm::OpInit:
Inheritance graph
[legend]

Public Member Functions

 OpInit (const OpInit &)=delete
 
OpInitoperator= (OpInit &)=delete
 
virtual OpInitclone (ArrayRef< Init * > Operands) const =0
 
virtual unsigned getNumOperands () const =0
 
virtual InitgetOperand (unsigned i) const =0
 
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.
 
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 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.
 

Static Public Member Functions

static bool classof (const Init *I)
 
- Static Public Member Functions inherited from llvm::TypedInit
static bool classof (const Init *I)
 

Protected Member Functions

 OpInit (InitKind K, RecTy *Type, uint8_t Opc)
 
- 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)
 

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_VarBitInit , IK_VarDefInit , IK_LastTypedInit ,
  IK_UnsetInit , IK_ArgumentInit
}
 Discriminator enum (for isa<>, dyn_cast<>, et al.) More...
 
- Protected Attributes inherited from llvm::Init
uint8_t Opc
 

Detailed Description

Base class for operators.

Definition at line 811 of file Record.h.

Constructor & Destructor Documentation

◆ OpInit() [1/2]

llvm::OpInit::OpInit ( InitKind  K,
RecTy Type,
uint8_t  Opc 
)
inlineexplicitprotected

Definition at line 813 of file Record.h.

◆ OpInit() [2/2]

llvm::OpInit::OpInit ( const OpInit )
delete

Member Function Documentation

◆ classof()

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

Definition at line 820 of file Record.h.

References I, llvm::Init::IK_FirstOpInit, and llvm::Init::IK_LastOpInit.

◆ clone()

virtual OpInit * llvm::OpInit::clone ( ArrayRef< Init * >  Operands) const
pure virtual

◆ getBit()

Init * OpInit::getBit ( unsigned  Bit) const
overridevirtual

Get the Init value of the specified bit.

Implements llvm::Init.

Definition at line 766 of file Record.cpp.

References llvm::BitRecTy::get(), llvm::VarBitInit::get(), llvm::TypedInit::getRecordKeeper(), and llvm::TypedInit::getType().

◆ getNumOperands()

virtual unsigned llvm::OpInit::getNumOperands ( ) const
pure virtual

◆ getOperand()

virtual Init * llvm::OpInit::getOperand ( unsigned  i) const
pure virtual

◆ operator=()

OpInit & llvm::OpInit::operator= ( OpInit )
delete

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