accessedStmts | retdec::llvmir2hll::OrderedAllVisitor | protected |
accessedTypes | retdec::llvmir2hll::OrderedAllVisitor | protected |
analyseVariablesInStmt(ShPtr< Statement > stmt, VarSet &thisLvlVars) | retdec::llvmir2hll::VarDefStmtOptimizer | private |
clearAllRecords() | retdec::llvmir2hll::VarDefStmtOptimizer | private |
currFunc | retdec::llvmir2hll::FuncOptimizer | protected |
doFinalization() | retdec::llvmir2hll::Optimizer | protectedvirtual |
doInitialization() | retdec::llvmir2hll::Optimizer | protectedvirtual |
doOptimization() override | retdec::llvmir2hll::VarDefStmtOptimizer | privatevirtual |
findCorrectStatement(ShPtr< Variable > var, std::size_t level) | retdec::llvmir2hll::VarDefStmtOptimizer | private |
findStmtsToOptimize() | retdec::llvmir2hll::VarDefStmtOptimizer | private |
findStmtToPrepend(ShPtr< Variable > var, std::size_t level) const | retdec::llvmir2hll::VarDefStmtOptimizer | private |
firstUseMap | retdec::llvmir2hll::VarDefStmtOptimizer | private |
FuncOptimizer(ShPtr< Module > module) | retdec::llvmir2hll::FuncOptimizer | protected |
getId() const override | retdec::llvmir2hll::VarDefStmtOptimizer | inlinevirtual |
getVarsFromVarDefStmts(const VarDefStmtSet &noInitVarDefStmts) | retdec::llvmir2hll::VarDefStmtOptimizer | private |
goToNextBlockAndAppendVisibleVars(ShPtr< Statement > stmt, ShPtr< Statement > parent, std::size_t order, VarSet &vars) | retdec::llvmir2hll::VarDefStmtOptimizer | private |
IntNextLvlStmtsMap typedef | retdec::llvmir2hll::VarDefStmtOptimizer | private |
isAssignStmtWithVarOnLhs(ShPtr< Statement > stmt, ShPtr< Variable > var) const | retdec::llvmir2hll::VarDefStmtOptimizer | private |
lastStmt | retdec::llvmir2hll::OrderedAllVisitor | protected |
level | retdec::llvmir2hll::VarDefStmtOptimizer | private |
LevelCountMap typedef | retdec::llvmir2hll::VarDefStmtOptimizer | private |
makeAccessedAndCheckIfAccessed(ShPtr< Type > type) | retdec::llvmir2hll::OrderedAllVisitor | protected |
mapOfNextLvlStmts | retdec::llvmir2hll::VarDefStmtOptimizer | private |
module | retdec::llvmir2hll::Optimizer | protected |
NonCopyable(const NonCopyable &)=delete | retdec::utils::NonCopyable | private |
NonCopyable()=default | retdec::utils::NonCopyable | private |
oneBlockTraversal(ShPtr< Statement > stmt, ShPtr< Statement > parent, std::size_t order) | retdec::llvmir2hll::VarDefStmtOptimizer | private |
operator=(const NonCopyable &)=delete | retdec::utils::NonCopyable | private |
optimize() | retdec::llvmir2hll::Optimizer | |
optimize(ShPtr< Module > module, Args &&... args) | retdec::llvmir2hll::Optimizer | inlinestatic |
optimizeAssignStmts(StmtSet &toRemoveStmts) const | retdec::llvmir2hll::VarDefStmtOptimizer | private |
Optimizer(ShPtr< Module > module) | retdec::llvmir2hll::Optimizer | |
optimizeStmts | retdec::llvmir2hll::VarDefStmtOptimizer | private |
optimizeVarDefStmts() const | retdec::llvmir2hll::VarDefStmtOptimizer | private |
optimizeWithPrepend(StmtSet &toRemoveStmts) const | retdec::llvmir2hll::VarDefStmtOptimizer | private |
OptType enum name | retdec::llvmir2hll::VarDefStmtOptimizer | private |
OrderedAllVisitor(bool visitSuccessors=true, bool visitNestedStmts=true) | retdec::llvmir2hll::OrderedAllVisitor | protected |
prependOrAssign(ShPtr< Statement > stmt, ShPtr< Variable > var) const | retdec::llvmir2hll::VarDefStmtOptimizer | private |
removeStructAndArrayVarDefStmts(VarDefStmtSet &noInitVarDefStmts) const | retdec::llvmir2hll::VarDefStmtOptimizer | private |
removeToBeRemovedStmts(StmtSet toRemoveStmts) const | retdec::llvmir2hll::VarDefStmtOptimizer | private |
restart(bool visitSuccessors=true, bool visitNestedStmts=true) | retdec::llvmir2hll::OrderedAllVisitor | protected |
runOnFunction(ShPtr< Function > func) override | retdec::llvmir2hll::VarDefStmtOptimizer | privatevirtual |
saveCountOfUsageVars(const VarSet &vars) | retdec::llvmir2hll::VarDefStmtOptimizer | private |
saveVars(ShPtr< Statement > parent, std::size_t order, VarSet vars) | retdec::llvmir2hll::VarDefStmtOptimizer | private |
setStmtToOptimize(ShPtr< Variable > var, ShPtr< Statement > stmt) | retdec::llvmir2hll::VarDefStmtOptimizer | private |
sortedNoInitVarDefStmts | retdec::llvmir2hll::VarDefStmtOptimizer | private |
sortVarDefStmts(const VarDefStmtSet &noInitVarDefStmts) | retdec::llvmir2hll::VarDefStmtOptimizer | private |
tryOptimizeUForLoop(ShPtr< UForLoopStmt > loop, ShPtr< Variable > optimizedVar) const | retdec::llvmir2hll::VarDefStmtOptimizer | private |
tryToFindAndEnterToNextNestingLevel(ShPtr< Statement > stmt, VarSet &thisLvlVars, std::size_t order) | retdec::llvmir2hll::VarDefStmtOptimizer | private |
va | retdec::llvmir2hll::VarDefStmtOptimizer | private |
VarDefStmtOptimizer(ShPtr< Module > module, ShPtr< ValueAnalysis > va) | retdec::llvmir2hll::VarDefStmtOptimizer | |
VarDefStmtVec typedef | retdec::llvmir2hll::VarDefStmtOptimizer | private |
VarFirstUseMap typedef | retdec::llvmir2hll::VarDefStmtOptimizer | private |
varLevelCountMap | retdec::llvmir2hll::VarDefStmtOptimizer | private |
VarLevelCountMap typedef | retdec::llvmir2hll::VarDefStmtOptimizer | private |
varsFromVarDefStmt | retdec::llvmir2hll::VarDefStmtOptimizer | private |
VarStmtToOptimizeMap typedef | retdec::llvmir2hll::VarDefStmtOptimizer | private |
VarVarDefMap typedef | retdec::llvmir2hll::VarDefStmtOptimizer | private |
VecNextLvlStmts typedef | retdec::llvmir2hll::VarDefStmtOptimizer | private |
visit(ShPtr< GlobalVarDef > varDef) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< Function > func) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< AssignStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< BreakStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< CallStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ContinueStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< EmptyStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ForLoopStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< UForLoopStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< GotoStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< IfStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ReturnStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< SwitchStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< UnreachableStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< VarDefStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< WhileLoopStmt > stmt) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< AddOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< AddressOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< AndOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ArrayIndexOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< AssignOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< BitAndOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< BitOrOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< BitShlOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< BitShrOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< BitXorOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< CallExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< CommaOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< DerefOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< DivOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< EqOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< GtEqOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< GtOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< LtEqOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< LtOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ModOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< MulOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< NegOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< NeqOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< NotOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< OrOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< StructIndexOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< SubOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< TernaryOpExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< Variable > var) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< BitCastExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ExtCastExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< FPToIntCastExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< IntToFPCastExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< IntToPtrCastExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< PtrToIntCastExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< TruncCastExpr > expr) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ConstArray > constant) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ConstBool > constant) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ConstFloat > constant) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ConstInt > constant) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ConstNullPointer > constant) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ConstString > constant) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ConstStruct > constant) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ConstSymbol > constant) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< ArrayType > type) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< FloatType > type) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< IntType > type) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< PointerType > type) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< StringType > type) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< StructType > type) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< FunctionType > type) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< VoidType > type) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visit(ShPtr< UnknownType > type) override | retdec::llvmir2hll::OrderedAllVisitor | virtual |
visitNestedAndSuccessorStatements(ShPtr< T > stmt) | retdec::llvmir2hll::FuncOptimizer | inlineprotected |
visitNestedStmts | retdec::llvmir2hll::OrderedAllVisitor | protected |
Visitor()=default | retdec::llvmir2hll::Visitor | protected |
visitStmt(ShPtr< Statement > stmt, bool visitSuccessors=true, bool visitNestedStmts=true) | retdec::llvmir2hll::OrderedAllVisitor | protectedvirtual |
visitSuccessors | retdec::llvmir2hll::OrderedAllVisitor | protected |
~NonCopyable()=default | retdec::utils::NonCopyable | private |
~Visitor()=default | retdec::llvmir2hll::Visitor | virtual |