retdec
retdec::llvmir2hll::StructureConverter Member List

This is the complete list of members for retdec::llvmir2hll::StructureConverter, including all inherited members.

addBranchMetadataToEndOfBodyIfNeeded(ShPtr< Statement > &body, const ShPtr< CFGNode > &clause, const ShPtr< CFGNode > &ifSuccessor) constretdec::llvmir2hll::StructureConverterprivate
addClausesWithTheSameCond(ShPtr< SwitchStmt > switchStmt, const ExprVector &conds, const ShPtr< Statement > &clauseBody) constretdec::llvmir2hll::StructureConverterprivate
addGotoTargetIfNotExists(const ShPtr< CFGNode > &node)retdec::llvmir2hll::StructureConverterprivate
addUnvisitedSuccessorsToQueue(const ShPtr< CFGNode > &node, CFGNodeQueue &toBeVisited, CFGNode::CFGNodeSet &visited) constretdec::llvmir2hll::StructureConverterprivate
addUnvisitedSuccessorsToQueueInLoop(const ShPtr< CFGNode > &node, CFGNodeQueue &toBeVisited, CFGNode::CFGNodeSet &visited, llvm::Loop *loop) constretdec::llvmir2hll::StructureConverterprivate
basePassretdec::llvmir2hll::StructureConverterprivate
bbConverterretdec::llvmir2hll::StructureConverterprivate
BBSet typedefretdec::llvmir2hll::StructureConverterprivate
BFSFindFirst(ShPtr< CFGNode > cfg, std::function< bool(ShPtr< CFGNode >)> pred) constretdec::llvmir2hll::StructureConverterprivate
BFSTraverse(ShPtr< CFGNode > cfg, std::function< bool(ShPtr< CFGNode >)> inspectFunc) constretdec::llvmir2hll::StructureConverterprivate
BFSTraverseLoop(ShPtr< CFGNode > cfg, std::function< bool(ShPtr< CFGNode >)> inspectFunc) constretdec::llvmir2hll::StructureConverterprivate
canBeCloned(const ShPtr< CFGNode > &node) constretdec::llvmir2hll::StructureConverterprivate
canBeForLoop(llvm::Loop *loop) constretdec::llvmir2hll::StructureConverterprivate
CFGNodeQueue typedefretdec::llvmir2hll::StructureConverterprivate
CFGNodeStack typedefretdec::llvmir2hll::StructureConverterprivate
CFGNodeVector typedefretdec::llvmir2hll::StructureConverterprivate
cleanUp()retdec::llvmir2hll::StructureConverterprivate
completelyReduceLoop(ShPtr< CFGNode > loopNode)retdec::llvmir2hll::StructureConverterprivate
converterretdec::llvmir2hll::StructureConverterprivate
convertFuncBody(llvm::Function &func)retdec::llvmir2hll::StructureConverter
correctUndefinedLabels()retdec::llvmir2hll::StructureConverterprivate
createCFG(llvm::BasicBlock &root)retdec::llvmir2hll::StructureConverterprivate
detectBackEdges(ShPtr< CFGNode > cfg) constretdec::llvmir2hll::StructureConverterprivate
DFSNodeState enum nameretdec::llvmir2hll::StructureConverterprivate
existsPathWithoutLoopsBetween(const ShPtr< CFGNode > &node1, const ShPtr< CFGNode > &node2) constretdec::llvmir2hll::StructureConverterprivate
fallsThroughToAnotherCase(const ShPtr< CFGNode > &clauseNode, const ShPtr< CFGNode > &switchNode, bool hasDefault) constretdec::llvmir2hll::StructureConverterprivate
findContinueOrBreakStatements(ShPtr< Statement > parent, SwitchParent sp)retdec::llvmir2hll::StructureConverterprivate
findFirstClauseWithSinglePred(const SwitchClauseVector &clauses) constretdec::llvmir2hll::StructureConverterprivate
fixClonedGotos(ShPtr< Statement > statement)retdec::llvmir2hll::StructureConverterprivate
generatedNodesretdec::llvmir2hll::StructureConverterprivate
generatedPHINodesretdec::llvmir2hll::StructureConverterprivate
getAssignsToPHINodes(const ShPtr< CFGNode > &from, const ShPtr< CFGNode > &to)retdec::llvmir2hll::StructureConverterprivate
getClauseBody(const ShPtr< CFGNode > &clauseNode, const ShPtr< CFGNode > &switchNode, const ShPtr< CFGNode > &switchSuccessor, const CFGNode::CFGNodeSet &generated)retdec::llvmir2hll::StructureConverterprivate
getGotoForSuccessor(const ShPtr< CFGNode > &node, const ShPtr< CFGNode > &target)retdec::llvmir2hll::StructureConverterprivate
getIfClauseBody(const ShPtr< CFGNode > &node, const ShPtr< CFGNode > &clause, const ShPtr< CFGNode > &ifSuccessor)retdec::llvmir2hll::StructureConverterprivate
getIfClauseBodyClone(const ShPtr< CFGNode > &node, const ShPtr< CFGNode > &clause, const ShPtr< CFGNode > &ifSuccessor)retdec::llvmir2hll::StructureConverterprivate
getIfStmt(const ShPtr< Expression > &cond, const ShPtr< Statement > &trueBody, const ShPtr< Statement > &falseBody=nullptr) constretdec::llvmir2hll::StructureConverterprivate
getLabel(const ShPtr< CFGNode > &node) constretdec::llvmir2hll::StructureConverterprivate
getLoopFor(const ShPtr< CFGNode > &node) constretdec::llvmir2hll::StructureConverterprivate
getLoopSuccessor(const ShPtr< CFGNode > &loopNode) constretdec::llvmir2hll::StructureConverterprivate
getPHICopiesForSuccessor(llvm::BasicBlock *currBB, llvm::BasicBlock *succ)retdec::llvmir2hll::StructureConverterprivate
getStatementCount(ShPtr< Statement > statement)retdec::llvmir2hll::StructureConverterprivate
getSuccessorsBody(const ShPtr< CFGNode > &node, const ShPtr< CFGNode > &succ)retdec::llvmir2hll::StructureConverterprivate
getSuccessorsBodyClone(const ShPtr< CFGNode > &node, const ShPtr< CFGNode > &succ)retdec::llvmir2hll::StructureConverterprivate
getSwitchClauses(const ShPtr< CFGNode > &switchNode, bool hasDefault) constretdec::llvmir2hll::StructureConverterprivate
getSwitchStmt(const ShPtr< CFGNode > &switchNode, const ShPtr< CFGNode > &switchSuccessor, bool hasDefault)retdec::llvmir2hll::StructureConverterprivate
getSwitchSuccessor(const ShPtr< CFGNode > &switchNode) constretdec::llvmir2hll::StructureConverterprivate
getTripCount(llvm::Loop *loop) constretdec::llvmir2hll::StructureConverterprivate
gotoTargetsretdec::llvmir2hll::StructureConverterprivate
gotoTargetsSetretdec::llvmir2hll::StructureConverterprivate
gotoTargetsToCfgNodesretdec::llvmir2hll::StructureConverterprivate
hasDefaultClause(const ShPtr< CFGNode > &switchNode, const ShPtr< CFGNode > &switchSuccessor) constretdec::llvmir2hll::StructureConverterprivate
hasOnlySwitchOrClausesInPreds(const ShPtr< CFGNode > &clauseNode, const ShPtr< CFGNode > &switchNode, bool hasDefault) constretdec::llvmir2hll::StructureConverterprivate
initialiazeLLVMAnalyses(llvm::Function &func)retdec::llvmir2hll::StructureConverterprivate
insertClonedLoopTargets(ShPtr< Statement > origParent, ShPtr< Statement > newParent)retdec::llvmir2hll::StructureConverterprivate
inspectCFGNode(ShPtr< CFGNode > node)retdec::llvmir2hll::StructureConverterprivate
isClauseTerminatedByBreak(const ShPtr< CFGNode > &clauseNode, const ShPtr< CFGNode > &switchSuccessor) constretdec::llvmir2hll::StructureConverterprivate
isContinueStatement(const ShPtr< CFGNode > &node) constretdec::llvmir2hll::StructureConverterprivate
isForLoop(const ShPtr< CFGNode > &node) constretdec::llvmir2hll::StructureConverterprivate
isIfElseStatement(const ShPtr< CFGNode > &node) constretdec::llvmir2hll::StructureConverterprivate
isIfElseStatementWithContinue(const ShPtr< CFGNode > &node, std::size_t succ) constretdec::llvmir2hll::StructureConverterprivate
isIfStatement(const ShPtr< CFGNode > &node, std::size_t succ) constretdec::llvmir2hll::StructureConverterprivate
isIfStatementWithBreakByGotoInLoop(const ShPtr< CFGNode > &node, std::size_t succ) constretdec::llvmir2hll::StructureConverterprivate
isIfStatementWithBreakInLoop(const ShPtr< CFGNode > &node, std::size_t succ) constretdec::llvmir2hll::StructureConverterprivate
isIfStatementWithTerminatingBranch(const ShPtr< CFGNode > &node, std::size_t succ) constretdec::llvmir2hll::StructureConverterprivate
isIfStatementWithTerminatingBranchToClone(const ShPtr< CFGNode > &node, std::size_t succ) constretdec::llvmir2hll::StructureConverterprivate
isInParentLoopOf(const ShPtr< CFGNode > &node, llvm::Loop *loop) constretdec::llvmir2hll::StructureConverterprivate
isLoopHeader(const ShPtr< CFGNode > &node) constretdec::llvmir2hll::StructureConverterprivate
isLoopHeader(const ShPtr< CFGNode > &node, llvm::Loop *loop) constretdec::llvmir2hll::StructureConverterprivate
isNestedWhileTrueLoopWithContinueInHeader(const ShPtr< CFGNode > &node, std::size_t succ) constretdec::llvmir2hll::StructureConverterprivate
isNodeAfterAllSwitchClauses(const ShPtr< CFGNode > &node, const ShPtr< CFGNode > &switchNode) constretdec::llvmir2hll::StructureConverterprivate
isNodeAfterSwitchClause(const ShPtr< CFGNode > &node, const ShPtr< CFGNode > &clauseNode) constretdec::llvmir2hll::StructureConverterprivate
isNodeOutsideLoop(const ShPtr< CFGNode > &node, llvm::Loop *loop) constretdec::llvmir2hll::StructureConverterprivate
isReducibleClause(const ShPtr< CFGNode > &clauseNode, const ShPtr< CFGNode > &switchNode, const ShPtr< CFGNode > &switchSuccessor, bool hasDefault=true) constretdec::llvmir2hll::StructureConverterprivate
isSequence(const ShPtr< CFGNode > &node) constretdec::llvmir2hll::StructureConverterprivate
isSequenceWithTerminatingBranchToClone(const ShPtr< CFGNode > &node) constretdec::llvmir2hll::StructureConverterprivate
isSwitchStatement(const ShPtr< CFGNode > &node) constretdec::llvmir2hll::StructureConverterprivate
isWhileTrueLoop(const ShPtr< CFGNode > &node) constretdec::llvmir2hll::StructureConverterprivate
labelsHandlerretdec::llvmir2hll::StructureConverterprivate
loopHeadersretdec::llvmir2hll::StructureConverterprivate
loopInforetdec::llvmir2hll::StructureConverterprivate
LoopSet typedefretdec::llvmir2hll::StructureConverterprivate
loopTargetsretdec::llvmir2hll::StructureConverterprivate
MapBBToBBSet typedefretdec::llvmir2hll::StructureConverterprivate
MapBBToCFGNode typedefretdec::llvmir2hll::StructureConverterprivate
MapCFGNodeToDFSNodeState typedefretdec::llvmir2hll::StructureConverterprivate
MapCFGNodeToSwitchClause typedefretdec::llvmir2hll::StructureConverterprivate
MapLoopToCFGNode typedefretdec::llvmir2hll::StructureConverterprivate
MapStmtToClones typedefretdec::llvmir2hll::StructureConverterprivate
MapStmtToTargetNode typedefretdec::llvmir2hll::StructureConverterprivate
MapTargetToGoto typedefretdec::llvmir2hll::StructureConverterprivate
NonCopyable(const NonCopyable &)=deleteretdec::utils::NonCopyableprivate
NonCopyable()=defaultretdec::utils::NonCopyableprivate
operator=(const NonCopyable &)=deleteretdec::utils::NonCopyableprivate
popFromQueue(CFGNodeQueue &queue) constretdec::llvmir2hll::StructureConverterprivate
reduceCFG(ShPtr< CFGNode > cfg)retdec::llvmir2hll::StructureConverterprivate
reducedLoopsretdec::llvmir2hll::StructureConverterprivate
reducedSwitchesretdec::llvmir2hll::StructureConverterprivate
reduceSwitchStatement(ShPtr< CFGNode > node)retdec::llvmir2hll::StructureConverterprivate
reduceToContinueStatement(ShPtr< CFGNode > node)retdec::llvmir2hll::StructureConverterprivate
reduceToForLoop(ShPtr< CFGNode > node)retdec::llvmir2hll::StructureConverterprivate
reduceToIfElseStatement(ShPtr< CFGNode > node)retdec::llvmir2hll::StructureConverterprivate
reduceToIfElseStatementWithBreakByGotoInLoop(ShPtr< CFGNode > node, std::size_t succ)retdec::llvmir2hll::StructureConverterprivate
reduceToIfElseStatementWithBreakInLoop(ShPtr< CFGNode > node, std::size_t succ)retdec::llvmir2hll::StructureConverterprivate
reduceToIfElseStatementWithContinue(ShPtr< CFGNode > node, std::size_t succ)retdec::llvmir2hll::StructureConverterprivate
reduceToIfStatement(ShPtr< CFGNode > node, std::size_t succ)retdec::llvmir2hll::StructureConverterprivate
reduceToIfStatementClone(ShPtr< CFGNode > node, std::size_t succ)retdec::llvmir2hll::StructureConverterprivate
reduceToNestedWhileTrueLoopWithContinueInHeader(ShPtr< CFGNode > node, std::size_t succ)retdec::llvmir2hll::StructureConverterprivate
reduceToSequence(ShPtr< CFGNode > node)retdec::llvmir2hll::StructureConverterprivate
reduceToSequenceClone(ShPtr< CFGNode > node)retdec::llvmir2hll::StructureConverterprivate
reduceToWhileTrueLoop(ShPtr< CFGNode > node)retdec::llvmir2hll::StructureConverterprivate
removeReducedSuccsOfSwitch(const ShPtr< CFGNode > &switchNode, bool hasDefault) constretdec::llvmir2hll::StructureConverterprivate
replaceBreakOrContinueOutsideLoop(ShPtr< Statement > statement, SwitchParent sp)retdec::llvmir2hll::StructureConverterprivate
replaceGoto(CFGNodeVector &targets)retdec::llvmir2hll::StructureConverterprivate
resModuleretdec::llvmir2hll::StructureConverterprivate
scalarEvolutionretdec::llvmir2hll::StructureConverterprivate
sortSwitchClauses(const SwitchClauseVector &clauses, const ShPtr< CFGNode > &switchSuccessor) constretdec::llvmir2hll::StructureConverterprivate
statementsOnStackretdec::llvmir2hll::StructureConverterprivate
statementsStackretdec::llvmir2hll::StructureConverterprivate
stmtClonesretdec::llvmir2hll::StructureConverterprivate
structureByGotos(ShPtr< CFGNode > cfg)retdec::llvmir2hll::StructureConverterprivate
StructureConverter(llvm::Pass *basePass, ShPtr< LLVMValueConverter > conv, ShPtr< Module > module)retdec::llvmir2hll::StructureConverter
SwitchClause typedefretdec::llvmir2hll::StructureConverterprivate
SwitchClauseVector typedefretdec::llvmir2hll::StructureConverterprivate
targetReferencesretdec::llvmir2hll::StructureConverterprivate
~NonCopyable()=defaultretdec::utils::NonCopyableprivate