OpenASIP  2.0
ControlFlowGraph Member List

This is the complete list of members for ControlFlowGraph, including all inherited members.

addEntryExitEdge()ControlFlowGraphprivate
addExit(NodeSet &retSourceNodes)ControlFlowGraph
addExit()ControlFlowGraphprivate
addExitFromSinkNodes(BasicBlockNode *exitNode)ControlFlowGraph
addNode(Node &node)BoostGraph< BasicBlockNode, ControlFlowEdge >virtual
alignment() constControlFlowGraph
alignment_ControlFlowGraphprivate
allowLoopEdges_BoostGraph< BasicBlockNode, ControlFlowEdge >protected
allScheduledInBetween(const BasicBlockNode &src, const BasicBlockNode &dst) constControlFlowGraph
bbMap_ControlFlowGraphmutableprivate
blocks_ControlFlowGraphprivate
BoostGraph(bool allowLoopEdges=true)BoostGraph< BasicBlockNode, ControlFlowEdge >
BoostGraph(const TCEString &name, bool allowLoopEdges=true)BoostGraph< BasicBlockNode, ControlFlowEdge >
BoostGraph(const BoostGraph &other, bool allowLoopEdges=true)BoostGraph< BasicBlockNode, ControlFlowEdge >
buildFrom(const TTAProgram::Procedure &procedure)ControlFlowGraphprivate
buildMBBFromBB(llvm::MachineBasicBlock &mbb, const TTAProgram::BasicBlock &bb) constControlFlowGraphprivate
calculatePathLengths() constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
calculatePathLengthsFast() constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
calculatePathLengthsOnConnect(const BasicBlockNode &nTail, const BasicBlockNode &nHead, ControlFlowEdge &e)BoostGraph< BasicBlockNode, ControlFlowEdge >protected
calculateSinkDistance(const BasicBlockNode &node, int len, bool looping=false) constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
calculateSourceDistances(const BasicBlockNode *startNode=NULL, int startingLength=0, bool looping=false) constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
cfgToOriginalInstructions_ControlFlowGraphprivate
childGraphs_BoostGraph< BasicBlockNode, ControlFlowEdge >protected
clearDescriptorCache(EdgeSet edges)BoostGraph< BasicBlockNode, ControlFlowEdge >protected
computeLeadersFromJumpSuccessors(InstructionAddressMap &leaders, const TTAProgram::Procedure &procedure)ControlFlowGraphprivate
computeLeadersFromRefManager(InstructionAddressMap &leaders, const TTAProgram::Procedure &procedure)ControlFlowGraphprivate
computeLeadersFromRelocations(InstructionAddressMap &leaderSet, InstructionAddressMap &dataCodeRellocations, const TTAProgram::Procedure &procedure)ControlFlowGraphprivate
connectingEdge(const Node &nTail, const Node &nHead) constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
connectingEdges(const Node &nTail, const Node &nHead) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
connectNodes(const Node &nTail, const Node &nHead, Edge &e)BoostGraph< BasicBlockNode, ControlFlowEdge >virtual
connectNodes(const Node &nTail, const Node &nHead, Edge &e, GraphBase< BasicBlockNode, ControlFlowEdge > *modifier, bool creatingSG=false)BoostGraph< BasicBlockNode, ControlFlowEdge >protectedvirtual
constructSubGraph(BoostGraph &subGraph, NodeSet &nodes)BoostGraph< BasicBlockNode, ControlFlowEdge >protected
ControlDependenceGraph classControlFlowGraphfriend
ControlFlowGraph(const TCEString name, TTAProgram::Program *program=NULL)ControlFlowGraph
ControlFlowGraph(const TTAProgram::Procedure &procedure, InterPassData &passData)ControlFlowGraph
ControlFlowGraph(const TTAProgram::Procedure &procedure)ControlFlowGraph
convertBBRefsToInstRefs()ControlFlowGraph
copyInEdge(const Node &destination, Edge &edge, const Node *tail=NULL)BoostGraph< BasicBlockNode, ControlFlowEdge >virtual
copyOutEdge(const Node &destination, Edge &edge, const Node *head=NULL)BoostGraph< BasicBlockNode, ControlFlowEdge >virtual
copyToLLVMMachineFunction(llvm::MachineFunction &mf, TTAProgram::InstructionReferenceManager *irm=NULL)ControlFlowGraph
copyToProcedure(TTAProgram::Procedure &proc, TTAProgram::InstructionReferenceManager *irm=NULL)ControlFlowGraph
createAllBlocks(InstructionAddressMap &leaders, const TTAProgram::Procedure &procedure)ControlFlowGraphprivate
createBBEdges(const TTAProgram::Procedure &procedure, InstructionAddressMap &leaders, InstructionAddressMap &dataCodeRellocations)ControlFlowGraphprivate
createBlock(TTAProgram::Instruction &leader, const TTAProgram::Instruction &endBlock)ControlFlowGraphprivate
createControlFlowEdge(const TTAProgram::Instruction &iTail, const TTAProgram::Instruction &iHead, ControlFlowEdge::CFGEdgePredicate edgePredicate=ControlFlowEdge::CFLOW_EDGE_NORMAL, ControlFlowEdge::CFGEdgeType edgeType=ControlFlowEdge::CFLOW_EDGE_JUMP)ControlFlowGraphprivate
createJumps(InstructionAddressMap &leaders, const InstructionAddress &leaderAddr, InstructionAddressMap &dataCodeRellocations, const TTAProgram::Procedure &procedure, int insIndex, int moveIndex)ControlFlowGraphprivate
deleteNodeAndRefs(BasicBlockNode &node)ControlFlowGraph
descriptor(const Edge &e) constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
descriptor(const Node &n) constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
detachSubgraph(BoostGraph &subGraph)BoostGraph< BasicBlockNode, ControlFlowEdge >
detectBackEdges()ControlFlowGraph
detectIllegalCycles() constBoostGraph< BasicBlockNode, ControlFlowEdge >
directJump(InstructionAddressMap &leaders, const InstructionAddress &leaderAddr, int insIndex, int moveIndex, const TTAProgram::Instruction &instructionTarget, const TTAProgram::Procedure &procedure)ControlFlowGraphprivate
disconnectNodes(const Node &nTail, const Node &nHead)BoostGraph< BasicBlockNode, ControlFlowEdge >virtual
dotString() constGraphBase< BasicBlockNode, ControlFlowEdge >virtual
dropEdge(Edge &edge)BoostGraph< BasicBlockNode, ControlFlowEdge >virtual
dropNode(Node &node)BoostGraph< BasicBlockNode, ControlFlowEdge >virtual
edge(const int index) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
Edge typedefBoostGraph< BasicBlockNode, ControlFlowEdge >
edgeCount() constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
EdgeDescMap typedefBoostGraph< BasicBlockNode, ControlFlowEdge >protected
edgeDescriptor(const NodeDescriptor &tailNode, const Edge &e) constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
edgeDescriptor(const Edge &e, const NodeDescriptor &headNode) constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
EdgeDescriptor typedefBoostGraph< BasicBlockNode, ControlFlowEdge >protected
edgeDescriptors_BoostGraph< BasicBlockNode, ControlFlowEdge >mutableprotected
EdgeIter typedefBoostGraph< BasicBlockNode, ControlFlowEdge >protected
EdgeSet typedefBoostGraph< BasicBlockNode, ControlFlowEdge >
edgeWeight(ControlFlowEdge &e, const BasicBlockNode &n) constBoostGraph< BasicBlockNode, ControlFlowEdge >protectedvirtual
endAddress_ControlFlowGraphprivate
entryNode() constControlFlowGraph
exitNode() constControlFlowGraph
fallThroughPredecessor(const BasicBlockNode &bbn) constControlFlowGraph
fallThruSuccessor(const BasicBlockNode &bbn) constControlFlowGraph
findAllPaths() constBoostGraph< BasicBlockNode, ControlFlowEdge >
findJumpAddress(BasicBlockNode &src, ControlFlowEdge &e)ControlFlowGraph
findLimmWrite(TTAProgram::Move &move, BasicBlockNode &bb, int moveIndex)ControlFlowGraph
findLLVMTargetInstrDesc(TCEString name, const llvm::MCInstrInfo &tii) constControlFlowGraphprivate
findNextIndex(const TTAProgram::Procedure &proc, int jumpInsIndex, int jumpMoveIndex)ControlFlowGraphprivate
findReachableNodes()ControlFlowGraphprivate
findRelJumpDistance(const BasicBlockNode &src, const TTAProgram::Terminal &jumpAddr, const TTAMachine::Machine &mach) constControlFlowGraph
findUnreachableNodes(const NodeSet &reachableNodes)ControlFlowGraphprivate
firstNormalNode() constControlFlowGraph
getMBB(llvm::MachineFunction &mf, const TTAProgram::BasicBlock &bb) constControlFlowGraph
Graph typedefBoostGraph< BasicBlockNode, ControlFlowEdge >protected
graph_BoostGraph< BasicBlockNode, ControlFlowEdge >protected
GraphBase()GraphBase< BasicBlockNode, ControlFlowEdge >inline
GraphTraits typedefBoostGraph< BasicBlockNode, ControlFlowEdge >protected
hasEdge(const Node &nTail, const Node &nHead) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
hasEdge(const Node &nTail, const Node &nHead, const Edge &edge) constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
hasEdge(const Edge &edge, const Node *nTail=NULL, const Node *nHead=NULL) constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
hasFallThruPredecessor(const BasicBlockNode &bbn)ControlFlowGraph
hasIncomingExternalJumps(const BasicBlockNode &bbn) constControlFlowGraph
hasInstructionAnotherJump(const TTAProgram::Instruction &ins, int moveIndex)ControlFlowGraphprivate
hasMultipleUnconditionalSuccessors(const BasicBlockNode &node) constControlFlowGraph
hasNode(const Node &) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
hasPath(BasicBlockNode &src, const BasicBlockNode &dest) constBoostGraph< BasicBlockNode, ControlFlowEdge >
headNode(const Edge &edge) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
headNode(const Edge &edge, const NodeDescriptor &tailNode) constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
height() constBoostGraph< BasicBlockNode, ControlFlowEdge >
height_BoostGraph< BasicBlockNode, ControlFlowEdge >mutableprotected
incomingFTEdge(const BasicBlockNode &bbn) constControlFlowGraph
incomingJumpEdges(const BasicBlockNode &bbn) constControlFlowGraph
inDegree(const Node &node) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
indirectJump(InstructionAddressMap &leaders, const InstructionAddress &leaderAddr, InstructionAddressMap &dataCodeRellocations, int insIndex, int moveIndex, const TTAProgram::Procedure &procedure)ControlFlowGraphprivate
inEdge(const Node &node, const int index) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
InEdgeIter typedefBoostGraph< BasicBlockNode, ControlFlowEdge >protected
inEdges(const Node &node) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
InsMap typedefControlFlowGraphprivate
InstructionAddressMap typedefControlFlowGraphprivate
InstructionAddressVector typedefControlFlowGraphprivate
instructionReferenceManager()ControlFlowGraph
irm_ControlFlowGraphprivate
isInCriticalPath(const BasicBlockNode &node) constBoostGraph< BasicBlockNode, ControlFlowEdge >inline
isSingleBBLoop(const BasicBlockNode &node) constControlFlowGraph
JUMP_NOT_REMOVED enum valueControlFlowGraphprivate
JUMP_REMOVED enum valueControlFlowGraphprivate
jumpSuccessor(BasicBlockNode &bbn)ControlFlowGraph
jumpToBBN(const TTAProgram::Terminal &jumpAddr, const BasicBlockNode &bbn) constControlFlowGraphprivate
LAST_ELEMENT_REMOVED enum valueControlFlowGraphprivate
loopingSinkDistances_BoostGraph< BasicBlockNode, ControlFlowEdge >mutableprotected
loopingSourceDistances_BoostGraph< BasicBlockNode, ControlFlowEdge >mutableprotected
maxPathLength(const BasicBlockNode &node) constBoostGraph< BasicBlockNode, ControlFlowEdge >
maxSinkDistance(const BasicBlockNode &node) constBoostGraph< BasicBlockNode, ControlFlowEdge >
maxSourceDistance(const BasicBlockNode &node) constBoostGraph< BasicBlockNode, ControlFlowEdge >
mergeNodes(BasicBlockNode &node1, BasicBlockNode &node2, DataDependenceGraph *ddg, const ControlFlowEdge &connectingEdge)ControlFlowGraphprivate
moveInEdge(const Node &source, const Node &destination, Edge &edge, const Node *tail=NULL, bool childs=false)BoostGraph< BasicBlockNode, ControlFlowEdge >virtual
moveInEdges(const Node &source, const Node &destination)BoostGraph< BasicBlockNode, ControlFlowEdge >virtual
moveInEdges(const Node &source, const Node &destination, BoostGraph *modifierGraph)BoostGraph< BasicBlockNode, ControlFlowEdge >protected
moveOutEdge(const Node &source, const Node &destination, Edge &edge, const Node *head=NULL, bool childs=false)BoostGraph< BasicBlockNode, ControlFlowEdge >virtual
moveOutEdges(const Node &source, const Node &destination)BoostGraph< BasicBlockNode, ControlFlowEdge >virtual
moveOutEdges(const Node &source, const Node &destination, BoostGraph *modifierGraph)BoostGraph< BasicBlockNode, ControlFlowEdge >protectedvirtual
name() constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
name_BoostGraph< BasicBlockNode, ControlFlowEdge >protected
Node typedefBoostGraph< BasicBlockNode, ControlFlowEdge >
node(const int index) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
node(const int index, bool cacheResult) constBoostGraph< BasicBlockNode, ControlFlowEdge >
nodeCount() constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
NodeDescMap typedefBoostGraph< BasicBlockNode, ControlFlowEdge >protected
NodeDescriptor typedefControlFlowGraphprivate
nodeDescriptors_BoostGraph< BasicBlockNode, ControlFlowEdge >mutableprotected
NodeIter typedefBoostGraph< BasicBlockNode, ControlFlowEdge >protected
NodeSet typedefBoostGraph< BasicBlockNode, ControlFlowEdge >
operator=(const BoostGraph &)BoostGraph< BasicBlockNode, ControlFlowEdge >private
optimizeBBOrdering(bool removeDeadCode, TTAProgram::InstructionReferenceManager &irm, DataDependenceGraph *ddg)ControlFlowGraph
originalToCfgInstructions_ControlFlowGraphprivate
outDegree(const Node &node) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
outEdge(const Node &node, const int index) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
OutEdgeIter typedefBoostGraph< BasicBlockNode, ControlFlowEdge >protected
outEdges(const Node &node) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
ownedEdges_BoostGraph< BasicBlockNode, ControlFlowEdge >protected
parentGraph()BoostGraph< BasicBlockNode, ControlFlowEdge >
parentGraph_BoostGraph< BasicBlockNode, ControlFlowEdge >protected
passData_ControlFlowGraphprivate
PathCache typedefBoostGraph< BasicBlockNode, ControlFlowEdge >protected
pathCache_BoostGraph< BasicBlockNode, ControlFlowEdge >mutableprotected
predecessors(const Node &node, bool ignoreBackEdges=false, bool ignoreForwardEdges=false) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
printStatistics()ControlFlowGraph
procedure_ControlFlowGraphprivate
procedureName() constControlFlowGraph
procedureName_ControlFlowGraphprivate
program() constControlFlowGraph
program_ControlFlowGraphprivate
ProgramDependenceGraph classControlFlowGraphfriend
programOperationToMIMap_ControlFlowGraphmutableprivate
RemovedEdgeMap typedefBoostGraph< BasicBlockNode, ControlFlowEdge >protected
RemovedJumpData enum nameControlFlowGraphprivate
removeEdge(Edge &e)BoostGraph< BasicBlockNode, ControlFlowEdge >virtual
removeEdge(Edge &e, const BasicBlockNode *tailNode, const BasicBlockNode *headNode, BoostGraph *modifierGraph=NULL)BoostGraph< BasicBlockNode, ControlFlowEdge >protectedvirtual
removeEntryExitEdge()ControlFlowGraphprivate
removeJumpToTarget(TTAProgram::CodeSnippet &cs, const TTAProgram::Instruction &target, int idx, DataDependenceGraph *ddg=NULL)ControlFlowGraphprivate
removeNode(Node &node)BoostGraph< BasicBlockNode, ControlFlowEdge >virtual
removeNode(Node &node, BoostGraph *modifierGraph)BoostGraph< BasicBlockNode, ControlFlowEdge >protectedvirtual
removeUnreachableNodes(const NodeSet &unreachableNodes, DataDependenceGraph *ddg)ControlFlowGraphprivate
replaceNodeWithLastNode(BasicBlockNode &dest)BoostGraph< BasicBlockNode, ControlFlowEdge >protected
restoreNodeFromParent(BasicBlockNode &node)BoostGraph< BasicBlockNode, ControlFlowEdge >
restoreRemovedEdges(RemovedEdgeMap removedEdges)BoostGraph< BasicBlockNode, ControlFlowEdge >protected
ReturnSource typedefControlFlowGraphprivate
returnSources_ControlFlowGraphprivate
ReturnSourceSet typedefControlFlowGraphprivate
reversedGraph() constControlFlowGraphprivate
ReversedGraph typedefControlFlowGraphprivate
reverseGuardOnOutEdges(const BasicBlockNode &bbn)ControlFlowGraph
rootGraph()BoostGraph< BasicBlockNode, ControlFlowEdge >
rootGraph() constBoostGraph< BasicBlockNode, ControlFlowEdge >
rootGraphInDegree(const Node &node) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
rootGraphInEdge(const Node &node, const int index) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
rootGraphInEdges(const Node &node) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
rootGraphOutDegree(const Node &node) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
rootGraphOutEdge(const Node &node, const int index) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
rootGraphOutEdges(const Node &node) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
rootNodes() constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
sanitize()ControlFlowGraph
setInstructionReferenceManager(TTAProgram::InstructionReferenceManager &irm)ControlFlowGraphinline
setName(const TCEString &newName)BoostGraph< BasicBlockNode, ControlFlowEdge >inline
sgCounter_BoostGraph< BasicBlockNode, ControlFlowEdge >protected
sinkDistances_BoostGraph< BasicBlockNode, ControlFlowEdge >mutableprotected
sinkDistDecreased(const BasicBlockNode &n) constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
sinkNodes() constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
sourceDistances_BoostGraph< BasicBlockNode, ControlFlowEdge >mutableprotected
sourceDistDecreased(const BasicBlockNode &n) constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
splitBasicBlockAtIndex(BasicBlockNode &bbn, int index)ControlFlowGraphprivate
splitBasicBlocksWithCallsAndRefs()ControlFlowGraph
splitBB(BasicBlockNode &n, int remainingSize)ControlFlowGraph
startAddress_ControlFlowGraphprivate
statistics()ControlFlowGraph
successors(const Node &node, bool ignoreBackEdges=false, bool ignoreForwardEdges=false) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
tailNode(const Edge &edge) constBoostGraph< BasicBlockNode, ControlFlowEdge >virtual
tailNode(const Edge &edge, const NodeDescriptor &headNode) constBoostGraph< BasicBlockNode, ControlFlowEdge >protected
tpos_ControlFlowGraphmutableprivate
updateReferencesFromProcToCfg()ControlFlowGraph
writeToDotFile(const TCEString &fileName) constGraphBase< BasicBlockNode, ControlFlowEdge >virtual
~BoostGraph()BoostGraph< BasicBlockNode, ControlFlowEdge >
~ControlFlowGraph()ControlFlowGraphvirtual
~GraphBase()GraphBase< BasicBlockNode, ControlFlowEdge >inlinevirtual