KSeExpr 6.0.0.0
Public Member Functions | Private Attributes | List of all members
KSeExpr::ExprLocalVar Class Reference

ExprLocalVar reference, all local variables in seexpr are subclasses of this or this itself. More...

#include <ExprEnv.h>

Inheritance diagram for KSeExpr::ExprLocalVar:
KSeExpr::ExprLocalVarPhi

Public Member Functions

 ExprLocalVar (const ExprType &type)
 
virtual ~ExprLocalVar ()=default
 
 ExprLocalVar (ExprLocalVar &)=default
 
 ExprLocalVar (ExprLocalVar &&)=default
 
ExprLocalVaroperator= (const ExprLocalVar &)=default
 
ExprLocalVaroperator= (ExprLocalVar &&)=default
 
const ExprLocalVargetPhi () const
 get the primary representative phi node (i.e. the global parent of a dependent phi node)
 
ExprType type () const
 returns type of the variable
 
virtual void setType (const ExprType &type)
 setter for variable type
 
virtual void setPhi (ExprLocalVar *phi)
 sets the representative phi node (like a brute force set unioning operation) phi is the set representative
 
virtual LLVM_VALUE codegen (LLVM_BUILDER, const std::string &, LLVM_VALUE) LLVM_BASE
 LLVM value that has been allocated.
 
virtual LLVM_VALUE varPtr ()
 LLVM value that has been pre-done.
 
int buildInterpreter (Interpreter *interpreter) const
 Allocates variable for interpreter.
 

Private Attributes

ExprType _type
 
ExprLocalVar_phi {nullptr}
 
LLVM_VALUE _varPtr {0}
 

Detailed Description

ExprLocalVar reference, all local variables in seexpr are subclasses of this or this itself.

Definition at line 27 of file ExprEnv.h.

Constructor & Destructor Documentation

◆ ExprLocalVar() [1/3]

KSeExpr::ExprLocalVar::ExprLocalVar ( const ExprType type)
inline

Definition at line 35 of file ExprEnv.h.

◆ ~ExprLocalVar()

virtual KSeExpr::ExprLocalVar::~ExprLocalVar ( )
virtualdefault

◆ ExprLocalVar() [2/3]

KSeExpr::ExprLocalVar::ExprLocalVar ( ExprLocalVar )
default

◆ ExprLocalVar() [3/3]

KSeExpr::ExprLocalVar::ExprLocalVar ( ExprLocalVar &&  )
default

Member Function Documentation

◆ buildInterpreter()

int KSeExpr::ExprLocalVar::buildInterpreter ( Interpreter interpreter) const

Allocates variable for interpreter.

Definition at line 734 of file Interpreter.cpp.

References _type, KSeExpr::ExprType::dim(), KSeExpr::ExprType::isFP(), and KSeExpr::ExprType::isString().

Referenced by KSeExpr::ExprAssignNode::buildInterpreter().

◆ codegen()

virtual LLVM_VALUE KSeExpr::ExprLocalVar::codegen ( LLVM_BUILDER  ,
const std::string &  ,
LLVM_VALUE   
)
virtual

LLVM value that has been allocated.

◆ getPhi()

const ExprLocalVar * KSeExpr::ExprLocalVar::getPhi ( ) const
inline

get the primary representative phi node (i.e. the global parent of a dependent phi node)

Definition at line 47 of file ExprEnv.h.

References _phi.

Referenced by KSeExpr::ExprPrototypeNode::prep().

◆ operator=() [1/2]

ExprLocalVar & KSeExpr::ExprLocalVar::operator= ( const ExprLocalVar )
default

◆ operator=() [2/2]

ExprLocalVar & KSeExpr::ExprLocalVar::operator= ( ExprLocalVar &&  )
default

◆ setPhi()

virtual void KSeExpr::ExprLocalVar::setPhi ( ExprLocalVar phi)
inlinevirtual

sets the representative phi node (like a brute force set unioning operation) phi is the set representative

Reimplemented in KSeExpr::ExprLocalVarPhi.

Definition at line 63 of file ExprEnv.h.

References _phi.

Referenced by KSeExpr::ExprLocalVarPhi::setPhi().

◆ setType()

virtual void KSeExpr::ExprLocalVar::setType ( const ExprType type)
inlinevirtual

setter for variable type

Definition at line 58 of file ExprEnv.h.

References _type, and type().

Referenced by KSeExpr::ExprLocalVarPhi::ExprLocalVarPhi().

◆ type()

ExprType KSeExpr::ExprLocalVar::type ( ) const
inline

returns type of the variable

Definition at line 52 of file ExprEnv.h.

References _type.

Referenced by KSeExpr::ExprLocalVarPhi::ExprLocalVarPhi(), KSeExpr::ExprVarNode::prep(), setType(), and KSeExpr::ExprLocalVarPhi::valid().

◆ varPtr()

virtual LLVM_VALUE KSeExpr::ExprLocalVar::varPtr ( )
inlinevirtual

LLVM value that has been pre-done.

Definition at line 72 of file ExprEnv.h.

References _varPtr.

Member Data Documentation

◆ _phi

ExprLocalVar* KSeExpr::ExprLocalVar::_phi {nullptr}
private

Definition at line 31 of file ExprEnv.h.

Referenced by getPhi(), and setPhi().

◆ _type

ExprType KSeExpr::ExprLocalVar::_type
private

Definition at line 30 of file ExprEnv.h.

Referenced by buildInterpreter(), setType(), and type().

◆ _varPtr

LLVM_VALUE KSeExpr::ExprLocalVar::_varPtr {0}
mutableprivate

Definition at line 32 of file ExprEnv.h.

Referenced by varPtr().


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