addEntryExitEdge() | ControlFlowGraph | private |
addExit(NodeSet &retSourceNodes) | ControlFlowGraph | |
addExit() | ControlFlowGraph | private |
addExitFromSinkNodes(BasicBlockNode *exitNode) | ControlFlowGraph | |
addNode(Node &node) | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
alignment() const | ControlFlowGraph | |
alignment_ | ControlFlowGraph | private |
allowLoopEdges_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
allScheduledInBetween(const BasicBlockNode &src, const BasicBlockNode &dst) const | ControlFlowGraph | |
bbMap_ | ControlFlowGraph | mutableprivate |
blocks_ | ControlFlowGraph | private |
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) | ControlFlowGraph | private |
buildMBBFromBB(llvm::MachineBasicBlock &mbb, const TTAProgram::BasicBlock &bb) const | ControlFlowGraph | private |
calculatePathLengths() const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
calculatePathLengthsFast() const | BoostGraph< 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) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
calculateSourceDistances(const BasicBlockNode *startNode=NULL, int startingLength=0, bool looping=false) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
cfgToOriginalInstructions_ | ControlFlowGraph | private |
childGraphs_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
clearDescriptorCache(EdgeSet edges) | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
computeLeadersFromJumpSuccessors(InstructionAddressMap &leaders, const TTAProgram::Procedure &procedure) | ControlFlowGraph | private |
computeLeadersFromRefManager(InstructionAddressMap &leaders, const TTAProgram::Procedure &procedure) | ControlFlowGraph | private |
computeLeadersFromRelocations(InstructionAddressMap &leaderSet, InstructionAddressMap &dataCodeRellocations, const TTAProgram::Procedure &procedure) | ControlFlowGraph | private |
connectingEdge(const Node &nTail, const Node &nHead) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
connectingEdges(const Node &nTail, const Node &nHead) const | BoostGraph< 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 class | ControlFlowGraph | friend |
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) | ControlFlowGraph | private |
createBBEdges(const TTAProgram::Procedure &procedure, InstructionAddressMap &leaders, InstructionAddressMap &dataCodeRellocations) | ControlFlowGraph | private |
createBlock(TTAProgram::Instruction &leader, const TTAProgram::Instruction &endBlock) | ControlFlowGraph | private |
createControlFlowEdge(const TTAProgram::Instruction &iTail, const TTAProgram::Instruction &iHead, ControlFlowEdge::CFGEdgePredicate edgePredicate=ControlFlowEdge::CFLOW_EDGE_NORMAL, ControlFlowEdge::CFGEdgeType edgeType=ControlFlowEdge::CFLOW_EDGE_JUMP) | ControlFlowGraph | private |
createJumps(InstructionAddressMap &leaders, const InstructionAddress &leaderAddr, InstructionAddressMap &dataCodeRellocations, const TTAProgram::Procedure &procedure, int insIndex, int moveIndex) | ControlFlowGraph | private |
deleteNodeAndRefs(BasicBlockNode &node) | ControlFlowGraph | |
descriptor(const Edge &e) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
descriptor(const Node &n) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
detachSubgraph(BoostGraph &subGraph) | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
detectBackEdges() | ControlFlowGraph | |
detectIllegalCycles() const | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
directJump(InstructionAddressMap &leaders, const InstructionAddress &leaderAddr, int insIndex, int moveIndex, const TTAProgram::Instruction &instructionTarget, const TTAProgram::Procedure &procedure) | ControlFlowGraph | private |
disconnectNodes(const Node &nTail, const Node &nHead) | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
dotString() const | GraphBase< BasicBlockNode, ControlFlowEdge > | virtual |
dropEdge(Edge &edge) | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
dropNode(Node &node) | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
edge(const int index) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
Edge typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
edgeCount() const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
EdgeDescMap typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
edgeDescriptor(const NodeDescriptor &tailNode, const Edge &e) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
edgeDescriptor(const Edge &e, const NodeDescriptor &headNode) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
EdgeDescriptor typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
edgeDescriptors_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | mutableprotected |
EdgeIter typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
EdgeSet typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
edgeWeight(ControlFlowEdge &e, const BasicBlockNode &n) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protectedvirtual |
endAddress_ | ControlFlowGraph | private |
entryNode() const | ControlFlowGraph | |
exitNode() const | ControlFlowGraph | |
fallThroughPredecessor(const BasicBlockNode &bbn) const | ControlFlowGraph | |
fallThruSuccessor(const BasicBlockNode &bbn) const | ControlFlowGraph | |
findAllPaths() const | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
findJumpAddress(BasicBlockNode &src, ControlFlowEdge &e) | ControlFlowGraph | |
findLimmWrite(TTAProgram::Move &move, BasicBlockNode &bb, int moveIndex) | ControlFlowGraph | |
findLLVMTargetInstrDesc(TCEString name, const llvm::MCInstrInfo &tii) const | ControlFlowGraph | private |
findNextIndex(const TTAProgram::Procedure &proc, int jumpInsIndex, int jumpMoveIndex) | ControlFlowGraph | private |
findReachableNodes() | ControlFlowGraph | private |
findRelJumpDistance(const BasicBlockNode &src, const TTAProgram::Terminal &jumpAddr, const TTAMachine::Machine &mach) const | ControlFlowGraph | |
findUnreachableNodes(const NodeSet &reachableNodes) | ControlFlowGraph | private |
firstNormalNode() const | ControlFlowGraph | |
getMBB(llvm::MachineFunction &mf, const TTAProgram::BasicBlock &bb) const | ControlFlowGraph | |
Graph typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
graph_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
GraphBase() | GraphBase< BasicBlockNode, ControlFlowEdge > | inline |
GraphTraits typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
hasEdge(const Node &nTail, const Node &nHead) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
hasEdge(const Node &nTail, const Node &nHead, const Edge &edge) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
hasEdge(const Edge &edge, const Node *nTail=NULL, const Node *nHead=NULL) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
hasFallThruPredecessor(const BasicBlockNode &bbn) | ControlFlowGraph | |
hasIncomingExternalJumps(const BasicBlockNode &bbn) const | ControlFlowGraph | |
hasInstructionAnotherJump(const TTAProgram::Instruction &ins, int moveIndex) | ControlFlowGraph | private |
hasMultipleUnconditionalSuccessors(const BasicBlockNode &node) const | ControlFlowGraph | |
hasNode(const Node &) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
hasPath(BasicBlockNode &src, const BasicBlockNode &dest) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
headNode(const Edge &edge) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
headNode(const Edge &edge, const NodeDescriptor &tailNode) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
height() const | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
height_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | mutableprotected |
incomingFTEdge(const BasicBlockNode &bbn) const | ControlFlowGraph | |
incomingJumpEdges(const BasicBlockNode &bbn) const | ControlFlowGraph | |
inDegree(const Node &node) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
indirectJump(InstructionAddressMap &leaders, const InstructionAddress &leaderAddr, InstructionAddressMap &dataCodeRellocations, int insIndex, int moveIndex, const TTAProgram::Procedure &procedure) | ControlFlowGraph | private |
inEdge(const Node &node, const int index) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
InEdgeIter typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
inEdges(const Node &node) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
InsMap typedef | ControlFlowGraph | private |
InstructionAddressMap typedef | ControlFlowGraph | private |
InstructionAddressVector typedef | ControlFlowGraph | private |
instructionReferenceManager() | ControlFlowGraph | |
irm_ | ControlFlowGraph | private |
isInCriticalPath(const BasicBlockNode &node) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | inline |
isSingleBBLoop(const BasicBlockNode &node) const | ControlFlowGraph | |
JUMP_NOT_REMOVED enum value | ControlFlowGraph | private |
JUMP_REMOVED enum value | ControlFlowGraph | private |
jumpSuccessor(BasicBlockNode &bbn) | ControlFlowGraph | |
jumpToBBN(const TTAProgram::Terminal &jumpAddr, const BasicBlockNode &bbn) const | ControlFlowGraph | private |
LAST_ELEMENT_REMOVED enum value | ControlFlowGraph | private |
loopingSinkDistances_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | mutableprotected |
loopingSourceDistances_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | mutableprotected |
maxPathLength(const BasicBlockNode &node) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
maxSinkDistance(const BasicBlockNode &node) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
maxSourceDistance(const BasicBlockNode &node) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
mergeNodes(BasicBlockNode &node1, BasicBlockNode &node2, DataDependenceGraph *ddg, const ControlFlowEdge &connectingEdge) | ControlFlowGraph | private |
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() const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
name_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
Node typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
node(const int index) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
node(const int index, bool cacheResult) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
nodeCount() const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
NodeDescMap typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
NodeDescriptor typedef | ControlFlowGraph | private |
nodeDescriptors_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | mutableprotected |
NodeIter typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
NodeSet typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
operator=(const BoostGraph &) | BoostGraph< BasicBlockNode, ControlFlowEdge > | private |
optimizeBBOrdering(bool removeDeadCode, TTAProgram::InstructionReferenceManager &irm, DataDependenceGraph *ddg) | ControlFlowGraph | |
originalToCfgInstructions_ | ControlFlowGraph | private |
outDegree(const Node &node) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
outEdge(const Node &node, const int index) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
OutEdgeIter typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
outEdges(const Node &node) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
ownedEdges_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
parentGraph() | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
parentGraph_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
passData_ | ControlFlowGraph | private |
PathCache typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
pathCache_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | mutableprotected |
predecessors(const Node &node, bool ignoreBackEdges=false, bool ignoreForwardEdges=false) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
printStatistics() | ControlFlowGraph | |
procedure_ | ControlFlowGraph | private |
procedureName() const | ControlFlowGraph | |
procedureName_ | ControlFlowGraph | private |
program() const | ControlFlowGraph | |
program_ | ControlFlowGraph | private |
ProgramDependenceGraph class | ControlFlowGraph | friend |
programOperationToMIMap_ | ControlFlowGraph | mutableprivate |
RemovedEdgeMap typedef | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
RemovedJumpData enum name | ControlFlowGraph | private |
removeEdge(Edge &e) | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
removeEdge(Edge &e, const BasicBlockNode *tailNode, const BasicBlockNode *headNode, BoostGraph *modifierGraph=NULL) | BoostGraph< BasicBlockNode, ControlFlowEdge > | protectedvirtual |
removeEntryExitEdge() | ControlFlowGraph | private |
removeJumpToTarget(TTAProgram::CodeSnippet &cs, const TTAProgram::Instruction &target, int idx, DataDependenceGraph *ddg=NULL) | ControlFlowGraph | private |
removeNode(Node &node) | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
removeNode(Node &node, BoostGraph *modifierGraph) | BoostGraph< BasicBlockNode, ControlFlowEdge > | protectedvirtual |
removeUnreachableNodes(const NodeSet &unreachableNodes, DataDependenceGraph *ddg) | ControlFlowGraph | private |
replaceNodeWithLastNode(BasicBlockNode &dest) | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
restoreNodeFromParent(BasicBlockNode &node) | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
restoreRemovedEdges(RemovedEdgeMap removedEdges) | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
ReturnSource typedef | ControlFlowGraph | private |
returnSources_ | ControlFlowGraph | private |
ReturnSourceSet typedef | ControlFlowGraph | private |
reversedGraph() const | ControlFlowGraph | private |
ReversedGraph typedef | ControlFlowGraph | private |
reverseGuardOnOutEdges(const BasicBlockNode &bbn) | ControlFlowGraph | |
rootGraph() | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
rootGraph() const | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
rootGraphInDegree(const Node &node) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
rootGraphInEdge(const Node &node, const int index) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
rootGraphInEdges(const Node &node) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
rootGraphOutDegree(const Node &node) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
rootGraphOutEdge(const Node &node, const int index) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
rootGraphOutEdges(const Node &node) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
rootNodes() const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
sanitize() | ControlFlowGraph | |
setInstructionReferenceManager(TTAProgram::InstructionReferenceManager &irm) | ControlFlowGraph | inline |
setName(const TCEString &newName) | BoostGraph< BasicBlockNode, ControlFlowEdge > | inline |
sgCounter_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
sinkDistances_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | mutableprotected |
sinkDistDecreased(const BasicBlockNode &n) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
sinkNodes() const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
sourceDistances_ | BoostGraph< BasicBlockNode, ControlFlowEdge > | mutableprotected |
sourceDistDecreased(const BasicBlockNode &n) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
splitBasicBlockAtIndex(BasicBlockNode &bbn, int index) | ControlFlowGraph | private |
splitBasicBlocksWithCallsAndRefs() | ControlFlowGraph | |
splitBB(BasicBlockNode &n, int remainingSize) | ControlFlowGraph | |
startAddress_ | ControlFlowGraph | private |
statistics() | ControlFlowGraph | |
successors(const Node &node, bool ignoreBackEdges=false, bool ignoreForwardEdges=false) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
tailNode(const Edge &edge) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | virtual |
tailNode(const Edge &edge, const NodeDescriptor &headNode) const | BoostGraph< BasicBlockNode, ControlFlowEdge > | protected |
tpos_ | ControlFlowGraph | mutableprivate |
updateReferencesFromProcToCfg() | ControlFlowGraph | |
writeToDotFile(const TCEString &fileName) const | GraphBase< BasicBlockNode, ControlFlowEdge > | virtual |
~BoostGraph() | BoostGraph< BasicBlockNode, ControlFlowEdge > | |
~ControlFlowGraph() | ControlFlowGraph | virtual |
~GraphBase() | GraphBase< BasicBlockNode, ControlFlowEdge > | inlinevirtual |