retdec
|
Compound operator manager for the C language. More...
#include <c_compound_op_manager.h>
Public Member Functions | |
CCompoundOpManager () | |
Constructs a new C compound operator manager. More... | |
virtual std::string | getId () const override |
Returns the ID of the manager. More... | |
![]() | |
CompoundOpManager () | |
Constructs a new base class for compound operator managers. 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... | |
Private Member Functions | |
virtual void | optimizeToCompoundOp (ShPtr< AddOpExpr > expr, ShPtr< Expression > operand) override |
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) override |
virtual void | optimizeToCompoundOp (ShPtr< MulOpExpr > expr, ShPtr< Expression > operand) override |
virtual void | optimizeToCompoundOp (ShPtr< ModOpExpr > expr, ShPtr< Expression > operand) override |
virtual void | optimizeToCompoundOp (ShPtr< DivOpExpr > expr, ShPtr< Expression > operand) override |
virtual void | optimizeToCompoundOp (ShPtr< BitAndOpExpr > expr, ShPtr< Expression > operand) override |
virtual void | optimizeToCompoundOp (ShPtr< BitOrOpExpr > expr, ShPtr< Expression > operand) override |
virtual void | optimizeToCompoundOp (ShPtr< BitXorOpExpr > expr, ShPtr< Expression > operand) override |
virtual void | optimizeToCompoundOp (ShPtr< BitShlOpExpr > expr, ShPtr< Expression > operand) override |
virtual void | optimizeToCompoundOp (ShPtr< BitShrOpExpr > expr, ShPtr< Expression > operand) override |
Additional Inherited Members | |
![]() | |
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... | |
Compound operator manager for the C language.
This is a concrete compound operator manager which should not be subclassed.
retdec::llvmir2hll::CCompoundOpManager::CCompoundOpManager | ( | ) |
Constructs a new C compound operator manager.
|
overridevirtual |
Returns the ID of the manager.
Implements retdec::llvmir2hll::CompoundOpManager.
|
overrideprivatevirtual |
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.
[in] | expr | Type of operator. |
[in] | operand | The right operand of result operator. |
Reimplemented from retdec::llvmir2hll::CompoundOpManager.
|
overrideprivatevirtual |
Reimplemented from retdec::llvmir2hll::CompoundOpManager.
|
overrideprivatevirtual |
Reimplemented from retdec::llvmir2hll::CompoundOpManager.
|
overrideprivatevirtual |
Reimplemented from retdec::llvmir2hll::CompoundOpManager.
|
overrideprivatevirtual |
Reimplemented from retdec::llvmir2hll::CompoundOpManager.
|
overrideprivatevirtual |
Reimplemented from retdec::llvmir2hll::CompoundOpManager.
|
overrideprivatevirtual |
Reimplemented from retdec::llvmir2hll::CompoundOpManager.
|
overrideprivatevirtual |
Reimplemented from retdec::llvmir2hll::CompoundOpManager.
|
overrideprivatevirtual |
Reimplemented from retdec::llvmir2hll::CompoundOpManager.
|
overrideprivatevirtual |
Reimplemented from retdec::llvmir2hll::CompoundOpManager.