diff options
author | Chris Lattner <sabre@nondot.org> | 2007-08-05 00:02:00 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-08-05 00:02:00 +0000 |
commit | e2649cbcb8de0e50d0bda498814fab36821b383c (patch) | |
tree | 39918f01f62924b019b26ac28e1dcdacbc1c61f5 /include/llvm/Analysis/Dominators.h | |
parent | 5965353245d5c718bd4e66f6b33d7a2eefa7844c (diff) | |
download | external_llvm-e2649cbcb8de0e50d0bda498814fab36821b383c.zip external_llvm-e2649cbcb8de0e50d0bda498814fab36821b383c.tar.gz external_llvm-e2649cbcb8de0e50d0bda498814fab36821b383c.tar.bz2 |
Switch the internal "Info" map from an std::map to a DenseMap. This
speeds up idom by about 45% and postidom by about 33%.
Some extra precautions must be taken not to invalidate densemap iterators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40827 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/Dominators.h')
-rw-r--r-- | include/llvm/Analysis/Dominators.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/llvm/Analysis/Dominators.h b/include/llvm/Analysis/Dominators.h index 0740f72..0ee71b1 100644 --- a/include/llvm/Analysis/Dominators.h +++ b/include/llvm/Analysis/Dominators.h @@ -127,7 +127,7 @@ protected: std::vector<BasicBlock*> Vertex; // Info - Collection of information used during the computation of idoms. - std::map<BasicBlock*, InfoRec> Info; + DenseMap<BasicBlock*, InfoRec> Info; void updateDFSNumbers(); @@ -298,7 +298,7 @@ public: private: void calculate(Function& F); DomTreeNode *getNodeForBlock(BasicBlock *BB); - unsigned DFSPass(BasicBlock *V, InfoRec &VInfo, unsigned N); + unsigned DFSPass(BasicBlock *V, unsigned N); void Compress(BasicBlock *V); BasicBlock *Eval(BasicBlock *v); void Link(BasicBlock *V, BasicBlock *W, InfoRec &WInfo); |