LLVM API Documentation
#include <DSGraph.h>
Collaboration diagram for llvm::DSGraph:
Definition at line 100 of file DSGraph.h.
|
|
|
node_iterator/begin/end - Iterate over all of the nodes in the graph. Be extremely careful with these methods because any merging of nodes could cause the node to be removed from this list. This means that if you are iterating over nodes and doing something that could cause _any_ node to merge, your node_iterators into this graph can be invalidated. |
|
|
|
NodeMapTy - This data type is used when cloning one graph into another to keep track of the correspondence between the nodes in the old and new graphs. |
|
|
|
|
|
CloneFlags enum - Bits that may be passed into the cloneInto method to specify how to clone the function graph. |
|
|
|
|
|
|
|
|
Definition at line 1069 of file DataStructure.cpp. References cloneInto(). |
|
Definition at line 1075 of file DataStructure.cpp. References cloneInto(). |
|
Definition at line 1081 of file DataStructure.cpp. References llvm::DSScalarMap::clear(), E, node_begin(), and node_end(). |
|
addNode - Add a new node to the graph. Definition at line 198 of file DSGraph.h. Referenced by llvm::DSNode::DSNode(). |
|
Definition at line 1955 of file DataStructure.cpp. References AssertCallSiteInGraph(). Referenced by AssertGraphOK(). |
|
Definition at line 1951 of file DataStructure.cpp. References AssertCallSiteInGraph(). Referenced by AssertGraphOK(). |
|
Definition at line 1937 of file DataStructure.cpp. References AssertNodeInGraph(), llvm::DSCallSite::getCalleeNode(), llvm::DSNode::getGlobals(), llvm::DSNodeHandle::getNode(), llvm::DSCallSite::getNumPtrArgs(), llvm::DSCallSite::getPtrArg(), llvm::DSCallSite::getRetVal(), and llvm::DSCallSite::isIndirectCall(). Referenced by AssertAuxCallNodesInGraph(), and AssertCallNodesInGraph(). |
|
Definition at line 1960 of file DataStructure.cpp. References llvm::Function::abegin(), llvm::Function::aend(), AssertAuxCallNodesInGraph(), AssertCallNodesInGraph(), AssertNodeContainsGlobal(), AssertNodeInGraph(), llvm::DSScalarMap::begin(), E, llvm::DSScalarMap::end(), F, getNodeForValue(), I, llvm::DataStructureAnalysis::isPointerType(), node_begin(), and node_end(). Referenced by removeDeadNodes(). |
|
Definition at line 375 of file DSGraph.h. References llvm::DSNode::getGlobals(). Referenced by AssertGraphOK(). |
|
Definition at line 371 of file DSGraph.h. References llvm::DSNode::getParentGraph(). Referenced by AssertCallSiteInGraph(), and AssertGraphOK(). |
|
|
computeNodeMapping - Given roots in two different DSGraphs, traverse the nodes reachable from the two graphs, computing the mapping of nodes from the first to the second graph. Definition at line 1996 of file DataStructure.cpp. References llvm::DSNodeHandle::getLink(), llvm::DSNode::getLink(), llvm::DSNodeHandle::getNode(), llvm::DSNodeHandle::getOffset(), llvm::DSNode::getSize(), llvm::DSNode::isNodeCompletelyFolded(), llvm::DSNodeHandle::isNull(), llvm::DS::PointerSize, and llvm::DSNodeHandle::setTo(). |
|
dump - call print(std::cerr), for use from the debugger... Definition at line 1097 of file DataStructure.cpp. References print(). |
|
|
|
getAuxFunctionCalls - Get the call sites as modified by whatever passes have been run. Definition at line 217 of file DSGraph.h. Referenced by llvm::DOTGraphTraits< const DSGraph * >::addCustomGraphFeatures(), llvm::DSCallSiteIterator::begin_aux(), llvm::DSCallSiteIterator::end_aux(), printCollection(), llvm::TDDataStructures::runOnModule(), and writeGraphToFile(). |
|
getCallSiteForArguments - Get the arguments and return value bindings for the specified function in the current graph. Definition at line 1378 of file DataStructure.cpp. References llvm::Function::abegin(), llvm::Function::aend(), E, getNodeForValue(), getReturnNodeFor(), I, and llvm::DataStructureAnalysis::isPointerType(). |
|
getDSCallSiteForCallSite - Given an LLVM CallSite object that is live in the context of this graph, return the DSCallSite for it. Definition at line 1390 of file DataStructure.cpp. References llvm::CallSite::arg_begin(), llvm::CallSite::arg_end(), E, F, llvm::CallSite::getCalledFunction(), llvm::CallSite::getCalledValue(), llvm::CallSite::getInstruction(), llvm::DSNodeHandle::getNode(), getNodeForValue(), llvm::Value::getType(), I, and llvm::DataStructureAnalysis::isPointerType(). |
|
getFunctionCalls - Return the list of call sites in the original local graph... Definition at line 210 of file DSGraph.h. Referenced by llvm::DOTGraphTraits< const DSGraph * >::addCustomGraphFeatures(), llvm::DSCallSiteIterator::begin_std(), llvm::DSCallSiteIterator::end_std(), printCollection(), llvm::CompleteBUDataStructures::runOnModule(), and writeGraphToFile(). |
|
getFunctionNames - Return a space separated list of the name of the functions in this graph (if any) Definition at line 1054 of file DataStructure.cpp. References getReturnNodes(), and I. Referenced by llvm::DOTGraphTraits< const DSGraph * >::getGraphName(). |
|
|
|
getGraphSize - Return the number of nodes in this graph. Definition at line 265 of file DSGraph.h. Referenced by llvm::DSGraphPrintHelper::DSGraphPrintHelper(), printCollection(), llvm::ModRefInfoBuilder::visitCallInst(), llvm::ModRefInfoBuilder::visitLoadInst(), llvm::ModRefInfoBuilder::visitStoreInst(), and writeGraphToFile(). |
|
getInlinedGlobals - Get the set of globals that are have been inlined (from callees in BU or from callers in TD) into the current graph. Definition at line 227 of file DSGraph.h. Referenced by llvm::ReachabilityCloner::getClonedNH(), and llvm::ReachabilityCloner::merge(). |
|
Definition at line 236 of file DSGraph.h. References llvm::DSScalarMap::end(), llvm::DSScalarMap::find(), and I. |
|
getNodeForValue - Given a value that is used or defined in the body of the current function, return the DSNode that it points to. Definition at line 234 of file DSGraph.h. Referenced by AssertGraphOK(), getCallSiteForArguments(), llvm::ReachabilityCloner::getClonedNH(), getDSCallSiteForCallSite(), llvm::FunctionModRefInfo::getNodeId(), markIncompleteNodes(), llvm::ReachabilityCloner::merge(), mergeInGraph(), removeTriviallyDeadNodes(), updateFromGlobalGraph(), llvm::ModRefInfoBuilder::visitLoadInst(), and llvm::ModRefInfoBuilder::visitStoreInst(). |
|
Definition at line 257 of file DSGraph.h. References I. |
|
getReturnNodeFor - Return the return node for the specified function. Definition at line 251 of file DSGraph.h. References I. Referenced by getCallSiteForArguments(), and mergeInGraph(). |
|
|
|
getReturnNodes - Return the mapping of functions to their return nodes for this graph. Definition at line 246 of file DSGraph.h. Referenced by llvm::DOTGraphTraits< const DSGraph * >::addCustomGraphFeatures(), cloneInto(), getCaption(), getFunctionNames(), llvm::DOTGraphTraits< const DSGraph * >::getGraphName(), and llvm::DSNode::mergeTypeInfo(). |
|
|
|
getScalarMap - Get a map that describes what the nodes the scalars in this function point to... Definition at line 204 of file DSGraph.h. Referenced by llvm::DOTGraphTraits< const DSGraph * >::addCustomGraphFeatures(), llvm::DSNode::assertOK(), llvm::DSGraphPrintHelper::DSGraphPrintHelper(), getCaption(), llvm::ReachabilityCloner::getClonedNH(), mergeInGraph(), llvm::TDDataStructures::runOnModule(), and updateFromGlobalGraph(). |
|
getTargetData - Return the TargetData object for the current target. Definition at line 174 of file DSGraph.h. Referenced by llvm::DSNode::getTargetData(). |
|
Definition at line 1452 of file DataStructure.cpp. References llvm::Function::abegin(), llvm::Function::aend(), E, F, llvm::Value::getName(), getNodeForValue(), llvm::DSScalarMap::global_begin(), llvm::DSScalarMap::global_end(), I, IgnoreGlobals, llvm::DataStructureAnalysis::isPointerType(), MarkFormalArgs, markIncomplete(), markIncompleteNode(), and shouldPrintAuxCalls(). Referenced by DSGraph(), and llvm::LocalDataStructures::runOnModule(). |
|
Definition at line 291 of file DSGraph.h. References llvm::DSNode::Incomplete, and maskNodeTypes(). Referenced by llvm::BUDataStructures::runOnModule(). |
|
maskNodeTypes - Apply a mask to all of the node types in the graph. This is useful for clearing out markers like Incomplete. Definition at line 287 of file DSGraph.h. References E, I, node_begin(), and node_end(). Referenced by maskIncompleteMarkers(). |
|
|
Definition at line 188 of file DSGraph.h. Referenced by AssertGraphOK(), cloneInto(), llvm::FunctionModRefInfo::FunctionModRefInfo(), maskNodeTypes(), llvm::GraphTraits< const DSGraph * >::nodes_begin(), llvm::GraphTraits< DSGraph * >::nodes_begin(), printCollection(), removeTriviallyDeadNodes(), and ~DSGraph(). |
|
Definition at line 189 of file DSGraph.h. Referenced by AssertGraphOK(), cloneInto(), llvm::FunctionModRefInfo::FunctionModRefInfo(), maskNodeTypes(), llvm::GraphTraits< const DSGraph * >::nodes_end(), llvm::GraphTraits< DSGraph * >::nodes_end(), printCollection(), removeTriviallyDeadNodes(), and ~DSGraph(). |
|
print - Print a dot graph to the specified ostream... Definition at line 221 of file Printer.cpp. References llvm::WriteGraph(). Referenced by dump(), llvm::DSGraphPrintHelper::printValuesInBitVec(), viewGraph(), and writeGraphToFile(). |
|
|
|
|
|
setPrintAuxCalls - If you call this method, the auxillary call vector will be printed instead of the standard call vector to the dot file. Definition at line 179 of file DSGraph.h. Referenced by llvm::TDDataStructures::runOnModule(), llvm::CompleteBUDataStructures::runOnModule(), and llvm::BUDataStructures::runOnModule(). |
|
Definition at line 180 of file DSGraph.h. Referenced by llvm::DOTGraphTraits< const DSGraph * >::addCustomGraphFeatures(), markIncompleteNodes(), printCollection(), and writeGraphToFile(). |
|
Definition at line 199 of file DSGraph.h. Referenced by llvm::DSNode::forwardNode(). |
|
updateFromGlobalGraph - This function rematerializes global nodes and nodes reachable from them from the globals graph into the current graph. It uses the vector InlinedGlobals to avoid cloning and merging globals that are already up-to-date in the current graph. In practice, in the TD pass, this is likely to be a large fraction of the live global nodes in each function (since most live nodes are likely to have been brought up-to-date in at _some_ caller or callee). Definition at line 1122 of file DataStructure.cpp. References E, llvm::DSScalarMap::end(), llvm::DSScalarMap::find(), getNodeForValue(), getScalarMap(), I, llvm::ReachabilityCloner::merge(), ScalarMap, TIME_REGION, and llvm::X. |
|
viewGraph - Emit a dot graph, run 'dot', run gv on the postscript file, then cleanup. For use from the debugger. Definition at line 244 of file Printer.cpp. |
|
Definition at line 225 of file Printer.cpp. References F, getAuxFunctionCalls(), getFunctionCalls(), getGraphSize(), print(), and shouldPrintAuxCalls(). Referenced by printCollection(). |