retdec
Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
retdec::llvmir2hll::CompoundOpManager Class Referenceabstract

A base class for compound operator managers. More...

#include <compound_op_manager.h>

Inheritance diagram for retdec::llvmir2hll::CompoundOpManager:
Inheritance graph
[legend]
Collaboration diagram for retdec::llvmir2hll::CompoundOpManager:
Collaboration graph
[legend]

Classes

class  CompoundOp
 Stores the resulting compound operator. More...
 

Public Member Functions

 CompoundOpManager ()
 Constructs a new base class for compound operator managers. More...
 
virtual std::string getId () const =0
 Returns the ID of the manager. More...
 
CompoundOp tryOptimizeToCompoundOp (ShPtr< AssignStmt > stmt)
 Tries to optimize stmt to a compound operator. More...
 
CompoundOp tryOptimizeToCompoundOp (ShPtr< AssignOpExpr > expr)
 Tries to optimize expr to a compound operator. More...
 
CompoundOp tryOptimizeToCompoundOp (ShPtr< Expression > lhs, ShPtr< Expression > rhs)
 Tries to optimize assignment lhs = rhs to a compound operator. More...
 

Protected Member Functions

void createResultingUnaryCompoundOp (const std::string &op)
 Creates the resulting unary compound operator and saves it into compoundOp. More...
 
void createResultingBinaryCompoundOp (const std::string &op, ShPtr< Expression > operand)
 Creates the resulting binary compound operator and saves it into compoundOp. More...
 

Private Member Functions

template<typename ToOptimizeExpr >
void tryOptimizeWhenOneOfOperandsEqWithLhsOfAssignStmt (ShPtr< ToOptimizeExpr > expr)
 Tries to optimize expr to compound operator when one of operands is equal with left-hand side of AssignStmt. More...
 
template<typename ToOptimizeExpr >
void tryOptimizeWhenLeftOperandEqWithLhsOfAssignStmt (ShPtr< ToOptimizeExpr > expr)
 Tries to optimize expr to compound operator when left operand is equal with left-hand side of AssignStmt. More...
 
ShPtr< ExpressiongetNextOpIfSecondOneIsEqWithLhsOfAssign (ShPtr< BinaryOpExpr > expr)
 Checks if one of the operands is equal with the saved left-hand side of AssignStmt. More...
 
OrderedAllVisitor Interface
virtual void visit (ShPtr< AddOpExpr > expr) override
 
virtual void visit (ShPtr< SubOpExpr > expr) override
 
virtual void visit (ShPtr< MulOpExpr > expr) override
 
virtual void visit (ShPtr< ModOpExpr > expr) override
 
virtual void visit (ShPtr< DivOpExpr > expr) override
 
virtual void visit (ShPtr< BitAndOpExpr > expr) override
 
virtual void visit (ShPtr< BitOrOpExpr > expr) override
 
virtual void visit (ShPtr< BitXorOpExpr > expr) override
 
virtual void visit (ShPtr< BitShlOpExpr > expr) override
 
virtual void visit (ShPtr< BitShrOpExpr > expr) override
 
virtual void visit (ShPtr< GlobalVarDef > varDef) override
 
virtual void visit (ShPtr< Function > func) override
 
virtual void visit (ShPtr< AssignStmt > stmt) override
 
virtual void visit (ShPtr< BreakStmt > stmt) override
 
virtual void visit (ShPtr< CallStmt > stmt) override
 
virtual void visit (ShPtr< ContinueStmt > stmt) override
 
virtual void visit (ShPtr< EmptyStmt > stmt) override
 
virtual void visit (ShPtr< ForLoopStmt > stmt) override
 
virtual void visit (ShPtr< UForLoopStmt > stmt) override
 
virtual void visit (ShPtr< GotoStmt > stmt) override
 
virtual void visit (ShPtr< IfStmt > stmt) override
 
virtual void visit (ShPtr< ReturnStmt > stmt) override
 
virtual void visit (ShPtr< SwitchStmt > stmt) override
 
virtual void visit (ShPtr< UnreachableStmt > stmt) override
 
virtual void visit (ShPtr< VarDefStmt > stmt) override
 
virtual void visit (ShPtr< WhileLoopStmt > stmt) override
 
virtual void visit (ShPtr< AddOpExpr > expr) override
 
virtual void visit (ShPtr< AddressOpExpr > expr) override
 
virtual void visit (ShPtr< AndOpExpr > expr) override
 
virtual void visit (ShPtr< ArrayIndexOpExpr > expr) override
 
virtual void visit (ShPtr< AssignOpExpr > expr) override
 
virtual void visit (ShPtr< BitAndOpExpr > expr) override
 
virtual void visit (ShPtr< BitOrOpExpr > expr) override
 
virtual void visit (ShPtr< BitShlOpExpr > expr) override
 
virtual void visit (ShPtr< BitShrOpExpr > expr) override
 
virtual void visit (ShPtr< BitXorOpExpr > expr) override
 
virtual void visit (ShPtr< CallExpr > expr) override
 
virtual void visit (ShPtr< CommaOpExpr > expr) override
 
virtual void visit (ShPtr< DerefOpExpr > expr) override
 
virtual void visit (ShPtr< DivOpExpr > expr) override
 
virtual void visit (ShPtr< EqOpExpr > expr) override
 
virtual void visit (ShPtr< GtEqOpExpr > expr) override
 
virtual void visit (ShPtr< GtOpExpr > expr) override
 
virtual void visit (ShPtr< LtEqOpExpr > expr) override
 
virtual void visit (ShPtr< LtOpExpr > expr) override
 
virtual void visit (ShPtr< ModOpExpr > expr) override
 
virtual void visit (ShPtr< MulOpExpr > expr) override
 
virtual void visit (ShPtr< NegOpExpr > expr) override
 
virtual void visit (ShPtr< NeqOpExpr > expr) override
 
virtual void visit (ShPtr< NotOpExpr > expr) override
 
virtual void visit (ShPtr< OrOpExpr > expr) override
 
virtual void visit (ShPtr< StructIndexOpExpr > expr) override
 
virtual void visit (ShPtr< SubOpExpr > expr) override
 
virtual void visit (ShPtr< TernaryOpExpr > expr) override
 
virtual void visit (ShPtr< Variable > var) override
 
virtual void visit (ShPtr< BitCastExpr > expr) override
 
virtual void visit (ShPtr< ExtCastExpr > expr) override
 
virtual void visit (ShPtr< FPToIntCastExpr > expr) override
 
virtual void visit (ShPtr< IntToFPCastExpr > expr) override
 
virtual void visit (ShPtr< IntToPtrCastExpr > expr) override
 
virtual void visit (ShPtr< PtrToIntCastExpr > expr) override
 
virtual void visit (ShPtr< TruncCastExpr > expr) override
 
virtual void visit (ShPtr< ConstArray > constant) override
 
virtual void visit (ShPtr< ConstBool > constant) override
 
virtual void visit (ShPtr< ConstFloat > constant) override
 
virtual void visit (ShPtr< ConstInt > constant) override
 
virtual void visit (ShPtr< ConstNullPointer > constant) override
 
virtual void visit (ShPtr< ConstString > constant) override
 
virtual void visit (ShPtr< ConstStruct > constant) override
 
virtual void visit (ShPtr< ConstSymbol > constant) override
 
virtual void visit (ShPtr< ArrayType > type) override
 
virtual void visit (ShPtr< FloatType > type) override
 
virtual void visit (ShPtr< IntType > type) override
 
virtual void visit (ShPtr< PointerType > type) override
 
virtual void visit (ShPtr< StringType > type) override
 
virtual void visit (ShPtr< StructType > type) override
 
virtual void visit (ShPtr< FunctionType > type) override
 
virtual void visit (ShPtr< VoidType > type) override
 
virtual void visit (ShPtr< UnknownType > type) override
 
Specializations To What Optimize
virtual void optimizeToCompoundOp (ShPtr< AddOpExpr > expr, ShPtr< Expression > operand)
 Sets the resulting operator to the default one which is the same like nothing is to be optimized. More...
 
virtual void optimizeToCompoundOp (ShPtr< SubOpExpr > expr, ShPtr< Expression > operand)
 
virtual void optimizeToCompoundOp (ShPtr< MulOpExpr > expr, ShPtr< Expression > operand)
 
virtual void optimizeToCompoundOp (ShPtr< ModOpExpr > expr, ShPtr< Expression > operand)
 
virtual void optimizeToCompoundOp (ShPtr< DivOpExpr > expr, ShPtr< Expression > operand)
 
virtual void optimizeToCompoundOp (ShPtr< BitAndOpExpr > expr, ShPtr< Expression > operand)
 
virtual void optimizeToCompoundOp (ShPtr< BitOrOpExpr > expr, ShPtr< Expression > operand)
 
virtual void optimizeToCompoundOp (ShPtr< BitXorOpExpr > expr, ShPtr< Expression > operand)
 
virtual void optimizeToCompoundOp (ShPtr< BitShlOpExpr > expr, ShPtr< Expression > operand)
 
virtual void optimizeToCompoundOp (ShPtr< BitShrOpExpr > expr, ShPtr< Expression > operand)
 
- Private Member Functions inherited from retdec::llvmir2hll::OrderedAllVisitor
virtual void visit (ShPtr< GlobalVarDef > varDef) override
 
virtual void visit (ShPtr< Function > func) override
 
virtual void visit (ShPtr< AssignStmt > stmt) override
 
virtual void visit (ShPtr< BreakStmt > stmt) override
 
virtual void visit (ShPtr< CallStmt > stmt) override
 
virtual void visit (ShPtr< ContinueStmt > stmt) override
 
virtual void visit (ShPtr< EmptyStmt > stmt) override
 
virtual void visit (ShPtr< ForLoopStmt > stmt) override
 
virtual void visit (ShPtr< UForLoopStmt > stmt) override
 
virtual void visit (ShPtr< GotoStmt > stmt) override
 
virtual void visit (ShPtr< IfStmt > stmt) override
 
virtual void visit (ShPtr< ReturnStmt > stmt) override
 
virtual void visit (ShPtr< SwitchStmt > stmt) override
 
virtual void visit (ShPtr< UnreachableStmt > stmt) override
 
virtual void visit (ShPtr< VarDefStmt > stmt) override
 
virtual void visit (ShPtr< WhileLoopStmt > stmt) override
 
virtual void visit (ShPtr< AddressOpExpr > expr) override
 
virtual void visit (ShPtr< AndOpExpr > expr) override
 
virtual void visit (ShPtr< ArrayIndexOpExpr > expr) override
 
virtual void visit (ShPtr< AssignOpExpr > expr) override
 
virtual void visit (ShPtr< CallExpr > expr) override
 
virtual void visit (ShPtr< CommaOpExpr > expr) override
 
virtual void visit (ShPtr< DerefOpExpr > expr) override
 
virtual void visit (ShPtr< EqOpExpr > expr) override
 
virtual void visit (ShPtr< GtEqOpExpr > expr) override
 
virtual void visit (ShPtr< GtOpExpr > expr) override
 
virtual void visit (ShPtr< LtEqOpExpr > expr) override
 
virtual void visit (ShPtr< LtOpExpr > expr) override
 
virtual void visit (ShPtr< NegOpExpr > expr) override
 
virtual void visit (ShPtr< NeqOpExpr > expr) override
 
virtual void visit (ShPtr< NotOpExpr > expr) override
 
virtual void visit (ShPtr< OrOpExpr > expr) override
 
virtual void visit (ShPtr< StructIndexOpExpr > expr) override
 
virtual void visit (ShPtr< TernaryOpExpr > expr) override
 
virtual void visit (ShPtr< Variable > var) override
 
virtual void visit (ShPtr< BitCastExpr > expr) override
 
virtual void visit (ShPtr< ExtCastExpr > expr) override
 
virtual void visit (ShPtr< FPToIntCastExpr > expr) override
 
virtual void visit (ShPtr< IntToFPCastExpr > expr) override
 
virtual void visit (ShPtr< IntToPtrCastExpr > expr) override
 
virtual void visit (ShPtr< PtrToIntCastExpr > expr) override
 
virtual void visit (ShPtr< TruncCastExpr > expr) override
 
virtual void visit (ShPtr< ConstArray > constant) override
 
virtual void visit (ShPtr< ConstBool > constant) override
 
virtual void visit (ShPtr< ConstFloat > constant) override
 
virtual void visit (ShPtr< ConstInt > constant) override
 
virtual void visit (ShPtr< ConstNullPointer > constant) override
 
virtual void visit (ShPtr< ConstString > constant) override
 
virtual void visit (ShPtr< ConstStruct > constant) override
 
virtual void visit (ShPtr< ConstSymbol > constant) override
 
virtual void visit (ShPtr< ArrayType > type) override
 
virtual void visit (ShPtr< FloatType > type) override
 
virtual void visit (ShPtr< IntType > type) override
 
virtual void visit (ShPtr< PointerType > type) override
 
virtual void visit (ShPtr< StringType > type) override
 
virtual void visit (ShPtr< StructType > type) override
 
virtual void visit (ShPtr< FunctionType > type) override
 
virtual void visit (ShPtr< VoidType > type) override
 
virtual void visit (ShPtr< UnknownType > type) override
 
 OrderedAllVisitor (bool visitSuccessors=true, bool visitNestedStmts=true)
 Constructs a new visitor. More...
 
virtual void visitStmt (ShPtr< Statement > stmt, bool visitSuccessors=true, bool visitNestedStmts=true)
 Visits the given statement, and possibly its successors or nested statements. More...
 
void restart (bool visitSuccessors=true, bool visitNestedStmts=true)
 "Restarts" the visitor so it is in the state like it was when it was created. More...
 
bool makeAccessedAndCheckIfAccessed (ShPtr< Type > type)
 Makes the given type accessed. More...
 
- Private Member Functions inherited from retdec::llvmir2hll::Visitor
virtual ~Visitor ()=default
 
 Visitor ()=default
 
- Private Member Functions inherited from retdec::utils::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
 NonCopyable ()=default
 
 ~NonCopyable ()=default
 

Private Attributes

ShPtr< ExpressionlhsOfAssignStmt
 Saved left-hand side of an assign statement. More...
 
CompoundOp compoundOp
 Resulting operator. More...
 
- Private Attributes inherited from retdec::llvmir2hll::OrderedAllVisitor
ShPtr< StatementlastStmt
 Statement that has been accessed as the last one. More...
 
StmtUSet accessedStmts
 A set of all accessed statements. More...
 
TypeUSet accessedTypes
 A set of all accessed types. More...
 
bool visitSuccessors
 Should statements' successor be accessed? More...
 
bool visitNestedStmts
 Should nested statements be accessed? More...
 

Detailed Description

A base class for compound operator managers.

Every compound operator manager should subclass this class and override private methods optimizeToCompoundOp().

For how to use this class

See also
tryOptimizeToCompoundOp

Instances of this class have reference object semantics.

Constructor & Destructor Documentation

◆ CompoundOpManager()

retdec::llvmir2hll::CompoundOpManager::CompoundOpManager ( )

Constructs a new base class for compound operator managers.

Member Function Documentation

◆ createResultingBinaryCompoundOp()

void retdec::llvmir2hll::CompoundOpManager::createResultingBinaryCompoundOp ( const std::string &  op,
ShPtr< Expression operand 
)
protected

Creates the resulting binary compound operator and saves it into compoundOp.

Parameters
[in]opResult operator.
[in]operandResult right operand for op.

◆ createResultingUnaryCompoundOp()

void retdec::llvmir2hll::CompoundOpManager::createResultingUnaryCompoundOp ( const std::string &  op)
protected

Creates the resulting unary compound operator and saves it into compoundOp.

Parameters
[in]opResult operator.

◆ getId()

virtual std::string retdec::llvmir2hll::CompoundOpManager::getId ( ) const
pure virtual

Returns the ID of the manager.

Implemented in retdec::llvmir2hll::NoCompoundOpManager, and retdec::llvmir2hll::CCompoundOpManager.

◆ getNextOpIfSecondOneIsEqWithLhsOfAssign()

ShPtr< Expression > retdec::llvmir2hll::CompoundOpManager::getNextOpIfSecondOneIsEqWithLhsOfAssign ( ShPtr< BinaryOpExpr expr)
private

Checks if one of the operands is equal with the saved left-hand side of AssignStmt.

Parameters
[in]exprAn expression to be checked.
Returns
The next one operand if one of operands are equal with saved left-hand side of AssignStmt, otherwise the null pointer.

◆ optimizeToCompoundOp() [1/10]

void retdec::llvmir2hll::CompoundOpManager::optimizeToCompoundOp ( ShPtr< AddOpExpr expr,
ShPtr< Expression operand 
)
privatevirtual

Sets the resulting operator to the default one which is the same like nothing is to be optimized.

In subclasses you can override this method that expr is used to recognize type of compound operator and operand is used as right operand of operator.

Parameters
[in]exprType of operator.
[in]operandThe right operand of result operator.

Reimplemented in retdec::llvmir2hll::CCompoundOpManager.

◆ optimizeToCompoundOp() [2/10]

void retdec::llvmir2hll::CompoundOpManager::optimizeToCompoundOp ( ShPtr< BitAndOpExpr expr,
ShPtr< Expression operand 
)
privatevirtual

◆ optimizeToCompoundOp() [3/10]

void retdec::llvmir2hll::CompoundOpManager::optimizeToCompoundOp ( ShPtr< BitOrOpExpr expr,
ShPtr< Expression operand 
)
privatevirtual

◆ optimizeToCompoundOp() [4/10]

void retdec::llvmir2hll::CompoundOpManager::optimizeToCompoundOp ( ShPtr< BitShlOpExpr expr,
ShPtr< Expression operand 
)
privatevirtual

◆ optimizeToCompoundOp() [5/10]

void retdec::llvmir2hll::CompoundOpManager::optimizeToCompoundOp ( ShPtr< BitShrOpExpr expr,
ShPtr< Expression operand 
)
privatevirtual

◆ optimizeToCompoundOp() [6/10]

void retdec::llvmir2hll::CompoundOpManager::optimizeToCompoundOp ( ShPtr< BitXorOpExpr expr,
ShPtr< Expression operand 
)
privatevirtual

◆ optimizeToCompoundOp() [7/10]

void retdec::llvmir2hll::CompoundOpManager::optimizeToCompoundOp ( ShPtr< DivOpExpr expr,
ShPtr< Expression operand 
)
privatevirtual

◆ optimizeToCompoundOp() [8/10]

void retdec::llvmir2hll::CompoundOpManager::optimizeToCompoundOp ( ShPtr< ModOpExpr expr,
ShPtr< Expression operand 
)
privatevirtual

◆ optimizeToCompoundOp() [9/10]

void retdec::llvmir2hll::CompoundOpManager::optimizeToCompoundOp ( ShPtr< MulOpExpr expr,
ShPtr< Expression operand 
)
privatevirtual

◆ optimizeToCompoundOp() [10/10]

void retdec::llvmir2hll::CompoundOpManager::optimizeToCompoundOp ( ShPtr< SubOpExpr expr,
ShPtr< Expression operand 
)
privatevirtual

◆ tryOptimizeToCompoundOp() [1/3]

CompoundOpManager::CompoundOp retdec::llvmir2hll::CompoundOpManager::tryOptimizeToCompoundOp ( ShPtr< AssignOpExpr expr)

Tries to optimize expr to a compound operator.

Parameters
[in]exprExpression to optimize.
Returns
The compound operator if expr can be optimized, or normal assign operator if it can't be optimized. Also returns the right operand.

◆ tryOptimizeToCompoundOp() [2/3]

CompoundOpManager::CompoundOp retdec::llvmir2hll::CompoundOpManager::tryOptimizeToCompoundOp ( ShPtr< AssignStmt stmt)

Tries to optimize stmt to a compound operator.

Parameters
[in]stmtStatement to optimize.
Returns
The compound operator if stmt can be optimized, or normal assign operator if it can't be optimized. Also returns the right operand.

◆ tryOptimizeToCompoundOp() [3/3]

CompoundOpManager::CompoundOp retdec::llvmir2hll::CompoundOpManager::tryOptimizeToCompoundOp ( ShPtr< Expression lhs,
ShPtr< Expression rhs 
)

Tries to optimize assignment lhs = rhs to a compound operator.

Parameters
[in]lhsLeft-hand side of the assignment.
[in]rhsRight-hand side of the assignment.
Returns
The compound operator if the assignment can be optimized, or normal assign operator if it can't be optimized. Also returns the right operand.

◆ tryOptimizeWhenLeftOperandEqWithLhsOfAssignStmt()

template<typename ToOptimizeExpr >
void retdec::llvmir2hll::CompoundOpManager::tryOptimizeWhenLeftOperandEqWithLhsOfAssignStmt ( ShPtr< ToOptimizeExpr >  expr)
private

Tries to optimize expr to compound operator when left operand is equal with left-hand side of AssignStmt.

Template Parameters
exprAn expression to optimize.

◆ tryOptimizeWhenOneOfOperandsEqWithLhsOfAssignStmt()

template<typename ToOptimizeExpr >
void retdec::llvmir2hll::CompoundOpManager::tryOptimizeWhenOneOfOperandsEqWithLhsOfAssignStmt ( ShPtr< ToOptimizeExpr >  expr)
private

Tries to optimize expr to compound operator when one of operands is equal with left-hand side of AssignStmt.

Template Parameters
exprAn expression to optimize.

◆ visit() [1/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [2/79]

void retdec::llvmir2hll::CompoundOpManager::visit ( ShPtr< AddOpExpr expr)
overrideprivatevirtual

◆ visit() [3/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [4/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [5/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [6/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [7/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [8/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [9/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [10/79]

void retdec::llvmir2hll::CompoundOpManager::visit ( ShPtr< BitAndOpExpr expr)
overrideprivatevirtual

◆ visit() [11/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [12/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [13/79]

void retdec::llvmir2hll::CompoundOpManager::visit ( ShPtr< BitOrOpExpr expr)
overrideprivatevirtual

◆ visit() [14/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [15/79]

void retdec::llvmir2hll::CompoundOpManager::visit ( ShPtr< BitShlOpExpr expr)
overrideprivatevirtual

◆ visit() [16/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [17/79]

void retdec::llvmir2hll::CompoundOpManager::visit ( ShPtr< BitShrOpExpr expr)
overrideprivatevirtual

◆ visit() [18/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [19/79]

void retdec::llvmir2hll::CompoundOpManager::visit ( ShPtr< BitXorOpExpr expr)
overrideprivatevirtual

◆ visit() [20/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [21/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [22/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [23/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [24/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [25/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [26/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [27/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [28/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [29/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [30/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [31/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [32/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [33/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [34/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [35/79]

void retdec::llvmir2hll::CompoundOpManager::visit ( ShPtr< DivOpExpr expr)
overrideprivatevirtual

◆ visit() [36/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [37/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [38/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [39/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [40/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [41/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [42/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [43/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [44/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [45/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [46/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [47/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [48/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [49/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [50/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [51/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [52/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [53/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [54/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [55/79]

void retdec::llvmir2hll::CompoundOpManager::visit ( ShPtr< ModOpExpr expr)
overrideprivatevirtual

◆ visit() [56/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [57/79]

void retdec::llvmir2hll::CompoundOpManager::visit ( ShPtr< MulOpExpr expr)
overrideprivatevirtual

◆ visit() [58/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [59/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [60/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [61/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [62/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [63/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [64/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [65/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [66/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [67/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [68/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [69/79]

void retdec::llvmir2hll::CompoundOpManager::visit ( ShPtr< SubOpExpr expr)
overrideprivatevirtual

◆ visit() [70/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [71/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [72/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [73/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [74/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [75/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [76/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [77/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [78/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

◆ visit() [79/79]

void retdec::llvmir2hll::OrderedAllVisitor::visit
overrideprivate

Member Data Documentation

◆ compoundOp

CompoundOp retdec::llvmir2hll::CompoundOpManager::compoundOp
private

Resulting operator.

◆ lhsOfAssignStmt

ShPtr<Expression> retdec::llvmir2hll::CompoundOpManager::lhsOfAssignStmt
private

Saved left-hand side of an assign statement.


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