KSeExpr 4.0.4.0
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

◆ ~ExprLocalVar()

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

◆ ExprLocalVar() [2/3]

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

References ExprLocalVar().

◆ ExprLocalVar() [3/3]

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

References ExprLocalVar().

Member Function Documentation

◆ buildInterpreter()

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

◆ codegen()

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

LLVM value that has been allocated.

References LLVM_BASE.

◆ 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, and ExprLocalVar().

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

◆ operator=() [1/2]

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

References ExprLocalVar().

◆ operator=() [2/2]

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

References ExprLocalVar().

◆ 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, and ExprLocalVar().

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::copyVarToPromotedPosition(), ExprLocalVar(), KSeExpr::ExprLocalVarPhi::ExprLocalVarPhi(), 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(), ExprLocalVar(), 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: