LLVM API Documentation
#include <CallGraph.h>
Public Types | |
| typedef std::vector< CallRecord > | CalledFunctionsVector |
| typedef std::vector < CallRecord >::iterator | iterator |
| typedef std::vector < CallRecord >::const_iterator | const_iterator |
Public Member Functions | |
| Function * | getFunction () const |
| iterator | begin () |
| iterator | end () |
| const_iterator | begin () const |
| const_iterator | end () const |
| bool | empty () const |
| unsigned | size () const |
| CallGraphNode * | operator[] (unsigned i) const |
| void | dump () const |
| void | print (std::ostream &OS) const |
| void | print (std::ostream *OS) const |
| void | removeAllCalledFunctions () |
| void | addCalledFunction (CallSite CS, CallGraphNode *M) |
| void | removeCallEdgeFor (CallSite CS) |
| void | removeAnyCallEdgeTo (CallGraphNode *Callee) |
| void | removeOneAbstractEdgeTo (CallGraphNode *Callee) |
| void | replaceCallSite (CallSite Old, CallSite New) |
| CallGraphNode (Function *f) | |
Friends | |
| class | CallGraph |
Definition at line 170 of file CallGraph.h.
| typedef std::vector<CallRecord> llvm::CallGraphNode::CalledFunctionsVector |
Definition at line 177 of file CallGraph.h.
| typedef std::vector<CallRecord>::iterator llvm::CallGraphNode::iterator |
Definition at line 183 of file CallGraph.h.
| typedef std::vector<CallRecord>::const_iterator llvm::CallGraphNode::const_iterator |
Definition at line 184 of file CallGraph.h.
| llvm::CallGraphNode::CallGraphNode | ( | Function * | f | ) | [inline] |
Definition at line 247 of file CallGraph.h.
| Function* llvm::CallGraphNode::getFunction | ( | ) | const [inline] |
Definition at line 187 of file CallGraph.h.
Referenced by print(), llvm::Inliner::removeDeadFunctions(), and llvm::CallGraph::removeFunctionFromModule().
| iterator llvm::CallGraphNode::begin | ( | ) | [inline] |
Definition at line 189 of file CallGraph.h.
Referenced by llvm::GraphTraits< const CallGraphNode * >::child_begin(), llvm::GraphTraits< CallGraphNode * >::child_begin(), print(), and UpdateCallGraphAfterInlining().
| iterator llvm::CallGraphNode::end | ( | ) | [inline] |
Definition at line 190 of file CallGraph.h.
Referenced by llvm::GraphTraits< const CallGraphNode * >::child_end(), llvm::GraphTraits< CallGraphNode * >::child_end(), print(), and UpdateCallGraphAfterInlining().
| const_iterator llvm::CallGraphNode::begin | ( | ) | const [inline] |
Definition at line 191 of file CallGraph.h.
| const_iterator llvm::CallGraphNode::end | ( | ) | const [inline] |
Definition at line 192 of file CallGraph.h.
| bool llvm::CallGraphNode::empty | ( | ) | const [inline] |
Definition at line 193 of file CallGraph.h.
| unsigned llvm::CallGraphNode::size | ( | ) | const [inline] |
Definition at line 194 of file CallGraph.h.
| CallGraphNode* llvm::CallGraphNode::operator[] | ( | unsigned | i | ) | const [inline] |
Definition at line 198 of file CallGraph.h.
| void CallGraphNode::dump | ( | ) | const |
dump - Print out this call graph node.
Definition at line 258 of file CallGraph.cpp.
References llvm::cerr(), and print().
| void CallGraphNode::print | ( | std::ostream & | OS | ) | const |
Definition at line 244 of file CallGraph.cpp.
References begin(), E, end(), FI, llvm::GCFunctionInfo::getFunction(), getFunction(), and llvm::Value::getName().
| void llvm::CallGraphNode::print | ( | std::ostream * | OS | ) | const [inline] |
| void llvm::CallGraphNode::removeAllCalledFunctions | ( | ) | [inline] |
removeAllCalledFunctions - As the name implies, this removes all edges from this CallGraphNode to any functions it calls.
Definition at line 215 of file CallGraph.h.
Referenced by InlineCallIfPossible(), and llvm::Inliner::removeDeadFunctions().
| void llvm::CallGraphNode::addCalledFunction | ( | CallSite | CS, | |
| CallGraphNode * | M | |||
| ) | [inline] |
addCalledFunction - Add a function to the list of functions called by this one.
Definition at line 221 of file CallGraph.h.
Referenced by llvm::InlineFunction(), and UpdateCallGraphAfterInlining().
| void CallGraphNode::removeCallEdgeFor | ( | CallSite | CS | ) |
removeCallEdgeFor - This method removes the edge in the node for the specified call site. Note that this method takes linear time, so it should be used sparingly.
removeCallEdgeFor - This method removes the edge in the node for the specified call site. Note that this method takes linear time, so it should be used sparingly.
Definition at line 263 of file CallGraph.cpp.
Referenced by UpdateCallGraphAfterInlining().
| void CallGraphNode::removeAnyCallEdgeTo | ( | CallGraphNode * | Callee | ) |
removeAnyCallEdgeTo - This method removes all call edges from this node to the specified callee function. This takes more time to execute than removeCallEdgeTo, so it should not be used unless necessary.
Definition at line 277 of file CallGraph.cpp.
References second.
Referenced by llvm::Inliner::removeDeadFunctions().
| void CallGraphNode::removeOneAbstractEdgeTo | ( | CallGraphNode * | Callee | ) |
removeOneAbstractEdgeTo - Remove one edge associated with a null callsite from this node to the specified callee function.
removeOneAbstractEdgeTo - Remove one edge associated with a null callsite from this node to the specified callee function.
Definition at line 288 of file CallGraph.cpp.
replaceCallSite - Make the edge in the node for Old CallSite be for New CallSite instead. Note that this method takes linear time, so it should be used sparingly.
replaceCallSite - Make the edge in the node for Old CallSite be for New CallSite instead. Note that this method takes linear time, so it should be used sparingly.
Definition at line 302 of file CallGraph.cpp.
friend class CallGraph [friend] |
Definition at line 244 of file CallGraph.h.