LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::TernOpInit Class Reference

#include <Record.h>

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

Public Types

enum  TernaryOp { SUBST, FOREACH, IF }
 

Public Member Functions

virtual OpInitclone (std::vector< Init * > &Operands) const
 
virtual int getNumOperands () const
 
virtual InitgetOperand (int i) const
 
TernaryOp getOpcode () const
 
InitgetLHS () const
 
InitgetMHS () const
 
InitgetRHS () const
 
virtual InitFold (Record *CurRec, MultiClass *CurMultiClass) const
 
virtual bool isComplete () const
 
virtual InitresolveReferences (Record &R, const RecordVal *RV) const
 
virtual std::string getAsString () const
 getAsString - Convert this value to a string form. More...
 
- Public Member Functions inherited from llvm::OpInit
virtual InitconvertInitializerTo (RecTy *Ty) const
 
virtual InitresolveListElementReference (Record &R, const RecordVal *RV, unsigned Elt) const
 
virtual InitgetBit (unsigned Bit) const
 
- Public Member Functions inherited from llvm::TypedInit
RecTygetType () const
 
virtual InitconvertInitializerBitRange (const std::vector< unsigned > &Bits) const
 
virtual InitconvertInitListSlice (const std::vector< unsigned > &Elements) const
 
virtual RecTygetFieldType (const std::string &FieldName) const
 
- Public Member Functions inherited from llvm::Init
InitKind getKind () const
 
virtual ~Init ()
 
void print (raw_ostream &OS) const
 print - Print out this value. More...
 
virtual std::string getAsUnquotedString () const
 
void dump () const
 
virtual InitgetFieldInit (Record &R, const RecordVal *RV, const std::string &FieldName) const
 
virtual InitgetBitVar () const
 
virtual unsigned getBitNum () const
 

Static Public Member Functions

static bool classof (const Init *I)
 
static TernOpInitget (TernaryOp opc, Init *lhs, Init *mhs, Init *rhs, RecTy *Type)
 
- Static Public Member Functions inherited from llvm::OpInit
static bool classof (const Init *I)
 
- 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_BitsInit, IK_FirstTypedInit, 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::OpInit
 OpInit (InitKind K, RecTy *Type)
 
- Protected Member Functions inherited from llvm::TypedInit
 TypedInit (InitKind K, RecTy *T)
 
- Protected Member Functions inherited from llvm::Init
 Init (InitKind K)
 

Detailed Description

TernOpInit - !op (X, Y, Z) - Combine two inits.

Definition at line 980 of file Record.h.

Member Enumeration Documentation

Enumerator
SUBST 
FOREACH 
IF 

Definition at line 982 of file Record.h.

Member Function Documentation

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

Definition at line 995 of file Record.h.

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

virtual OpInit* llvm::TernOpInit::clone ( std::vector< Init * > &  Operands) const
inlinevirtual

Implements llvm::OpInit.

Definition at line 1003 of file Record.h.

References get(), getOpcode(), and llvm::TypedInit::getType().

Init * TernOpInit::Fold ( Record CurRec,
MultiClass CurMultiClass 
) const
virtual
TernOpInit * TernOpInit::get ( TernaryOp  opc,
Init lhs,
Init mhs,
Init rhs,
RecTy Type 
)
static

Definition at line 995 of file Record.cpp.

References I.

Referenced by clone(), and resolveReferences().

std::string TernOpInit::getAsString ( ) const
virtual

getAsString - Convert this value to a string form.

Implements llvm::Init.

Definition at line 1253 of file Record.cpp.

References FOREACH, llvm::Init::getAsString(), IF, and SUBST.

Init* llvm::TernOpInit::getLHS ( ) const
inline

Definition at line 1024 of file Record.h.

Referenced by getOperand().

Init* llvm::TernOpInit::getMHS ( ) const
inline

Definition at line 1025 of file Record.h.

Referenced by getOperand().

virtual int llvm::TernOpInit::getNumOperands ( ) const
inlinevirtual

Implements llvm::OpInit.

Definition at line 1010 of file Record.h.

TernaryOp llvm::TernOpInit::getOpcode ( ) const
inline

Definition at line 1023 of file Record.h.

Referenced by clone(), Fold(), and resolveReferences().

virtual Init* llvm::TernOpInit::getOperand ( int  i) const
inlinevirtual

Implements llvm::OpInit.

Definition at line 1011 of file Record.h.

References getLHS(), getMHS(), and getRHS().

Init* llvm::TernOpInit::getRHS ( ) const
inline

Definition at line 1026 of file Record.h.

Referenced by getOperand().

virtual bool llvm::TernOpInit::isComplete ( ) const
inlinevirtual

isComplete - This virtual method should be overridden by values that may not be completely specified yet.

Reimplemented from llvm::Init.

Definition at line 1032 of file Record.h.

Init * TernOpInit::resolveReferences ( Record R,
const RecordVal RV 
) const
virtual

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

References llvm::Init::convertInitializerTo(), llvm::dyn_cast(), Fold(), llvm::IntRecTy::get(), get(), getOpcode(), llvm::TypedInit::getType(), llvm::IntInit::getValue(), I, IF, and llvm::Init::resolveReferences().


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