LLVM API Documentation

Public Types | Public Member Functions | Static Public Member Functions
llvm::BinOpInit Class Reference

#include <Record.h>

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

List of all members.

Public Types

enum  BinaryOp {
  ADD, AND, SHL, SRA,
  SRL, LISTCONCAT, STRCONCAT, CONCAT,
  EQ
}

Public Member Functions

OpInitclone (std::vector< Init * > &Operands) const override
int getNumOperands () const override
InitgetOperand (int i) const override
BinaryOp getOpcode () const
InitgetLHS () const
InitgetRHS () const
InitFold (Record *CurRec, MultiClass *CurMultiClass) const override
InitresolveReferences (Record &R, const RecordVal *RV) const override
std::string getAsString () const override
 getAsString - Convert this value to a string form.

Static Public Member Functions

static bool classof (const Init *I)
static BinOpInitget (BinaryOp opc, Init *lhs, Init *rhs, RecTy *Type)

Detailed Description

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

Definition at line 938 of file Record.h.


Member Enumeration Documentation

Enumerator:
ADD 
AND 
SHL 
SRA 
SRL 
LISTCONCAT 
STRCONCAT 
CONCAT 
EQ 

Definition at line 940 of file Record.h.


Member Function Documentation

static bool llvm::BinOpInit::classof ( const Init I) [inline, static]

Reimplemented from llvm::OpInit.

Definition at line 953 of file Record.h.

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

OpInit* llvm::BinOpInit::clone ( std::vector< Init * > &  Operands) const [inline, override, virtual]

Implements llvm::OpInit.

Definition at line 960 of file Record.h.

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

Init * BinOpInit::Fold ( Record CurRec,
MultiClass CurMultiClass 
) const [override, virtual]
BinOpInit * BinOpInit::get ( BinaryOp  opc,
Init lhs,
Init rhs,
RecTy Type 
) [static]
std::string BinOpInit::getAsString ( ) const [override, virtual]

getAsString - Convert this value to a string form.

Implements llvm::Init.

Definition at line 1004 of file Record.cpp.

References ADD, AND, CONCAT, EQ, llvm::Init::getAsString(), LISTCONCAT, SHL, SRA, SRL, and STRCONCAT.

Init* llvm::BinOpInit::getLHS ( ) const [inline]
int llvm::BinOpInit::getNumOperands ( ) const [inline, override, virtual]

Implements llvm::OpInit.

Definition at line 966 of file Record.h.

Init* llvm::BinOpInit::getOperand ( int  i) const [inline, override, virtual]

Implements llvm::OpInit.

Definition at line 967 of file Record.h.

References getLHS(), and getRHS().

Init* llvm::BinOpInit::getRHS ( ) const [inline]
Init * BinOpInit::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 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 995 of file Record.cpp.

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


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