LLVM API Documentation
#include <PathNumbering.h>

Public Member Functions | |
| BallLarusDag (Function &F) | |
| void | init () |
| virtual | ~BallLarusDag () |
| void | calculatePathNumbers () |
| unsigned | getNumberOfPaths () |
| BallLarusNode * | getRoot () |
| BallLarusNode * | getExit () |
| Function & | getFunction () |
| void | clearColors (BallLarusNode::NodeColor color) |
Protected Member Functions | |
| virtual BallLarusNode * | createNode (BasicBlock *BB) |
| virtual BallLarusEdge * | createEdge (BallLarusNode *source, BallLarusNode *target, unsigned duplicateNumber) |
| BallLarusNode * | addNode (BasicBlock *BB) |
| BallLarusEdge * | addEdge (BallLarusNode *source, BallLarusNode *target, unsigned duplicateNumber) |
Protected Attributes | |
| BLNodeVector | _nodes |
| BLEdgeVector | _edges |
| BLEdgeVector | _backEdges |
Definition at line 210 of file PathNumbering.h.
| llvm::BallLarusDag::BallLarusDag | ( | Function & | F | ) | [inline] |
Definition at line 215 of file PathNumbering.h.
| BallLarusDag::~BallLarusDag | ( | ) | [virtual] |
Definition at line 253 of file PathNumbering.cpp.
References _edges, _nodes, and llvm::sys::path::end().
| BallLarusEdge * BallLarusDag::addEdge | ( | BallLarusNode * | source, |
| BallLarusNode * | target, | ||
| unsigned | duplicateNumber | ||
| ) | [protected] |
Definition at line 496 of file PathNumbering.cpp.
References _edges, llvm::BallLarusNode::addPredEdge(), llvm::BallLarusNode::addSuccEdge(), and createEdge().
Referenced by calculatePathNumbers(), and init().
| BallLarusNode * BallLarusDag::addNode | ( | BasicBlock * | BB | ) | [protected] |
Definition at line 489 of file PathNumbering.cpp.
References _nodes, and createNode().
Referenced by init().
| void BallLarusDag::calculatePathNumbers | ( | ) |
Definition at line 265 of file PathNumbering.cpp.
References addEdge(), llvm::BallLarusEdge::BACKEDGE, llvm::dbgs(), DEBUG, llvm::sys::path::end(), getExit(), llvm::BallLarusNode::getName(), llvm::BallLarusNode::getNumberPaths(), getRoot(), llvm::BallLarusEdge::NORMAL, llvm::BallLarusNode::predBegin(), llvm::BallLarusNode::predEnd(), llvm::BallLarusEdge::setRealEdge(), llvm::BallLarusEdge::setType(), llvm::BallLarusEdge::SPLITEDGE, llvm::BallLarusEdge::SPLITEDGE_PHONY, llvm::BallLarusNode::succBegin(), and llvm::BallLarusNode::succEnd().
Referenced by llvm::PathProfileInfo::setCurrentFunction().
| void BallLarusDag::clearColors | ( | BallLarusNode::NodeColor | color | ) |
Definition at line 358 of file PathNumbering.cpp.
References _nodes.
| BallLarusEdge * BallLarusDag::createEdge | ( | BallLarusNode * | source, |
| BallLarusNode * | target, | ||
| unsigned | duplicateNumber | ||
| ) | [protected, virtual] |
Definition at line 482 of file PathNumbering.cpp.
Referenced by addEdge().
| BallLarusNode * BallLarusDag::createNode | ( | BasicBlock * | BB | ) | [protected, virtual] |
Definition at line 474 of file PathNumbering.cpp.
Referenced by addNode().
| BallLarusNode * BallLarusDag::getExit | ( | ) |
Definition at line 348 of file PathNumbering.cpp.
Referenced by calculatePathNumbers(), llvm::ProfilePath::getPathBlocks(), llvm::ProfilePath::getPathEdges(), and init().
| Function & BallLarusDag::getFunction | ( | ) |
Definition at line 353 of file PathNumbering.cpp.
| unsigned BallLarusDag::getNumberOfPaths | ( | ) |
Definition at line 338 of file PathNumbering.cpp.
References getRoot().
Referenced by llvm::PathProfileInfo::getPotentialPathCount().
| BallLarusNode * BallLarusDag::getRoot | ( | ) |
Definition at line 343 of file PathNumbering.cpp.
Referenced by calculatePathNumbers(), llvm::PathProfileInfo::getCurrentFunctionEntry(), llvm::ProfilePath::getFirstBlockInPath(), getNumberOfPaths(), llvm::ProfilePath::getPathBlocks(), llvm::ProfilePath::getPathEdges(), and init().
| void BallLarusDag::init | ( | ) |
Definition at line 234 of file PathNumbering.cpp.
References addEdge(), addNode(), llvm::Function::getEntryBlock(), getExit(), and getRoot().
Referenced by llvm::PathProfileInfo::setCurrentFunction().
BLEdgeVector llvm::BallLarusDag::_backEdges [protected] |
Definition at line 252 of file PathNumbering.h.
BLEdgeVector llvm::BallLarusDag::_edges [protected] |
Definition at line 249 of file PathNumbering.h.
Referenced by addEdge(), and ~BallLarusDag().
BLNodeVector llvm::BallLarusDag::_nodes [protected] |
Definition at line 246 of file PathNumbering.h.
Referenced by addNode(), clearColors(), and ~BallLarusDag().