SeExpr

Public Member Functions | Protected Attributes | List of all members
SeExpr2::ExprLocalVar Class Reference

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

`#include <ExprEnv.h>`

Inheritance diagram for SeExpr2::ExprLocalVar:

## Public Member Functions
| ExprLocalVar (const ExprType &type)
virtual | ~ExprLocalVar ()
const ExprLocalVar * | getPhi () const
| get the primary representative phi node (i.e. the global parent of a dependent phi node) More...
ExprType | type () const
| returns type of the variable More...
virtual void | setPhi (ExprLocalVar *phi)
| sets the representative phi node (like a brute force set unioning operation) phi is the set representative More...
virtual LLVM_VALUE | codegen (LLVM_BUILDER, const std::string &name, LLVM_VALUE referenceType) LLVM_BODY
| LLVM value that has been allocated. More...
virtual LLVM_VALUE | varPtr ()
| LLVM value that has been pre-done. More...
int | buildInterpreter (Interpreter *interpreter) const
| Allocates variable for interpreter. More...

## Protected Attributes
ExprType | _type
ExprLocalVar * | _phi
LLVM_VALUE | _varPtr

## Detailed Description

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

Definition at line 37 of file ExprEnv.h.

## Constructor & Destructor Documentation

## ◆ ExprLocalVar()

SeExpr2::ExprLocalVar::ExprLocalVar | ( | const ExprType & | type | ) |
| inline

Definition at line 44 of file ExprEnv.h.

## ◆ ~ExprLocalVar()

virtual SeExpr2::ExprLocalVar::~ExprLocalVar | ( |  | ) |
| inline virtual

Definition at line 46 of file ExprEnv.h.

## Member Function Documentation

## ◆ buildInterpreter()

int SeExpr2::ExprLocalVar::buildInterpreter | ( | Interpreter * | interpreter | ) | const

Allocates variable for interpreter.

Definition at line 738 of file Interpreter.cpp.

References _type, SeExpr2::Interpreter::allocFP(), SeExpr2::Interpreter::allocPtr(), SeExpr2::ExprType::dim(), SeExpr2::ExprType::isFP(), SeExpr2::ExprType::isString(), and SeExpr2::Interpreter::varToLoc.

Referenced by SeExpr2::ExprIfThenElseNode::buildInterpreter(), and SeExpr2::ExprAssignNode::buildInterpreter().

## ◆ codegen()

virtual LLVM_VALUE SeExpr2::ExprLocalVar::codegen | ( | LLVM_BUILDER | ,
|  | const std::string & | name,
|  | LLVM_VALUE | referenceType
| ) |  |
| virtual

LLVM value that has been allocated.

## ◆ getPhi()

const ExprLocalVar* SeExpr2::ExprLocalVar::getPhi | ( |  | ) | const
| inline

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

Definition at line 49 of file ExprEnv.h.

References _phi.

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

## ◆ setPhi()

virtual void SeExpr2::ExprLocalVar::setPhi | ( | ExprLocalVar * | phi | ) |
| inline virtual

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

Reimplemented in SeExpr2::ExprLocalVarPhi.

Definition at line 53 of file ExprEnv.h.

References _phi.

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

## ◆ type()

ExprType SeExpr2::ExprLocalVar::type | ( |  | ) | const
| inline

returns type of the variable

Definition at line 51 of file ExprEnv.h.

References _type.

Referenced by SeExpr2::copyVarToPromotedPosition(), SeExpr2::ExprLocalVarPhi::ExprLocalVarPhi(), and SeExpr2::ExprVarNode::prep().

## ◆ varPtr()

virtual LLVM_VALUE SeExpr2::ExprLocalVar::varPtr | ( |  | ) |
| inline virtual

LLVM value that has been pre-done.

Definition at line 59 of file ExprEnv.h.

References _varPtr.

## Member Data Documentation

## ◆ _phi

ExprLocalVar* SeExpr2::ExprLocalVar::_phi
| protected

Definition at line 40 of file ExprEnv.h.

Referenced by getPhi(), setPhi(), and SeExpr2::ExprLocalVarPhi::setPhi().

## ◆ _type

ExprType SeExpr2::ExprLocalVar::_type
| protected

Definition at line 39 of file ExprEnv.h.

Referenced by buildInterpreter(), SeExpr2::ExprLocalVarPhi::ExprLocalVarPhi(), type(), and SeExpr2::ExprLocalVarPhi::valid().

## ◆ _varPtr

LLVM_VALUE SeExpr2::ExprLocalVar::_varPtr
| mutable protected

Definition at line 41 of file ExprEnv.h.

Referenced by varPtr().

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

- /build/seexpr/src/SeExpr/src/SeExpr2/ExprEnv.h
- /build/seexpr/src/SeExpr/src/SeExpr2/Interpreter.cpp