SeExpr

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

ExprLocalVar join (merge) references. Remembers which variables are possible assigners to this. More...

`#include <ExprEnv.h>`

Inheritance diagram for SeExpr2::ExprLocalVarPhi:

## Public Member Functions
| ExprLocalVarPhi (ExprType condLife, ExprLocalVar *thenVar, ExprLocalVar *elseVar)
bool | valid () const
void | setPhi (ExprLocalVar *phi)
| sets the representative phi node (like a brute force set unioning operation) phi is the set representative More...
Public Member Functions inherited from SeExpr2::ExprLocalVar
| 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 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...

## Public Attributes
ExprNode * | _condNode
ExprLocalVar * | _thenVar
ExprLocalVar * | _elseVar

## Additional Inherited Members
Protected Attributes inherited from SeExpr2::ExprLocalVar
ExprType | _type
ExprLocalVar * | _phi
LLVM_VALUE | _varPtr

## Detailed Description

ExprLocalVar join (merge) references. Remembers which variables are possible assigners to this.

Definition at line 67 of file ExprEnv.h.

## Constructor & Destructor Documentation

## ◆ ExprLocalVarPhi()

SeExpr2::ExprLocalVarPhi::ExprLocalVarPhi | ( | ExprType | condLife,
|  | ExprLocalVar * | thenVar,
|  | ExprLocalVar * | elseVar
| ) |  |
| inline

Definition at line 69 of file ExprEnv.h.

References _elseVar, _thenVar, SeExpr2::ExprLocalVar::_type, SeExpr2::ExprType::isFP(), SeExpr2::ExprType::setLifetime(), SeExpr2::ExprLocalVar::type(), and SeExpr2::ExprType::valuesCompatible().

## Member Function Documentation

## ◆ setPhi()

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

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

Reimplemented from SeExpr2::ExprLocalVar.

Definition at line 83 of file ExprEnv.h.

References _elseVar, SeExpr2::ExprLocalVar::_phi, _thenVar, and SeExpr2::ExprLocalVar::setPhi().

## ◆ valid()

bool SeExpr2::ExprLocalVarPhi::valid | ( |  | ) | const
| inline

Definition at line 81 of file ExprEnv.h.

References SeExpr2::ExprLocalVar::_type, and SeExpr2::ExprType::isError().

Referenced by SeExpr2::ExprIfThenElseNode::buildInterpreter().

## Member Data Documentation

## ◆ _condNode

ExprNode* SeExpr2::ExprLocalVarPhi::_condNode

Definition at line 89 of file ExprEnv.h.

## ◆ _elseVar

ExprLocalVar * SeExpr2::ExprLocalVarPhi::_elseVar

Definition at line 90 of file ExprEnv.h.

Referenced by SeExpr2::ExprIfThenElseNode::buildInterpreter(), ExprLocalVarPhi(), and setPhi().

## ◆ _thenVar

ExprLocalVar* SeExpr2::ExprLocalVarPhi::_thenVar

Definition at line 90 of file ExprEnv.h.

Referenced by SeExpr2::ExprIfThenElseNode::buildInterpreter(), ExprLocalVarPhi(), and setPhi().

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

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