LLVM API Documentation
#include <DSGraph.h>
Collaboration diagram for llvm::DSScalarMap:
Public Types | |
typedef ValueMapTy::const_iterator | const_iterator |
typedef ValueMapTy::iterator | iterator |
typedef GlobalSetTy::const_iterator | global_iterator |
Public Member Functions | |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
iterator | find (Value *V) |
const_iterator | find (Value *V) const |
unsigned | count (Value *V) const |
void | erase (Value *V) |
void | replaceScalar (Value *Old, Value *New) |
DSNodeHandle & | operator[] (Value *V) |
void | erase (iterator I) |
void | clear () |
global_iterator | global_begin () const |
global_iterator | global_end () const |
This class is crucial to the efficiency of DSA with some large SCC's. In these cases, the cost of iterating over the scalar map dominates the cost of DSA. In all of these cases, the DSA phase is really trying to identify globals or unique node handles active in the function.
Definition at line 35 of file DSGraph.h.
|
|
|
|
|
|
|
|
|
Definition at line 47 of file DSGraph.h. Referenced by llvm::DOTGraphTraits< const DSGraph * >::addCustomGraphFeatures(), llvm::DSGraph::AssertGraphOK(), llvm::DSGraph::cloneInto(), llvm::DSGraph::DSGraph(), llvm::DSGraph::removeDeadNodes(), and llvm::DSGraph::removeTriviallyDeadNodes(). |
|
Definition at line 84 of file DSGraph.h. Referenced by llvm::DSGraph::~DSGraph(). |
|
Definition at line 53 of file DSGraph.h. Referenced by llvm::DSNode::assertOK(), and llvm::DSGraph::mergeInGraph(). |
|
|
|
|
|
|
Definition at line 55 of file DSGraph.h. References find(). Referenced by llvm::DSGraph::DSGraph(), llvm::DSGraph::removeDeadNodes(), llvm::DSGraph::removeTriviallyDeadNodes(), and replaceScalar(). |
|
|
|
Definition at line 51 of file DSGraph.h. Referenced by llvm::DSNode::assertOK(), erase(), llvm::ReachabilityCloner::getClonedNH(), llvm::DSGraph::getNodeForValue(), replaceScalar(), llvm::TDDataStructures::runOnModule(), and llvm::DSGraph::updateFromGlobalGraph(). |
|
Definition at line 92 of file DSGraph.h. Referenced by llvm::DOTGraphTraits< const DSGraph * >::addCustomGraphFeatures(), llvm::DSGraph::DSGraph(), getCaption(), llvm::DSGraph::markIncompleteNodes(), llvm::DSGraph::mergeInGraph(), and llvm::TDDataStructures::runOnModule(). |
|
Definition at line 93 of file DSGraph.h. Referenced by llvm::DOTGraphTraits< const DSGraph * >::addCustomGraphFeatures(), llvm::DSGraph::DSGraph(), getCaption(), llvm::DSGraph::markIncompleteNodes(), llvm::DSGraph::mergeInGraph(), and llvm::TDDataStructures::runOnModule(). |
|
|
|
replaceScalar - When an instruction needs to be modified, this method can be used to update the scalar map to remove the old and insert the new. |