summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/PostDominators.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Template DominatorTreeBase by node type. This is the next major step towardsOwen Anderson2007-10-161-1/+1
| | | | | | having dominator information on MBB's. llvm-svn: 43036
* Completely merge the implementation details of DomTree and PostDomTree.Owen Anderson2007-10-031-2/+2
| | | | | | Also, add a FIXME for a bug in PostDomTree calculation I noticed while writing this, llvm-svn: 42593
* Factor some code from the DomTree and PostDomTree calculate methods up into Owen Anderson2007-10-031-0/+23
| | | | | | each one's runOnFunction method. llvm-svn: 42563
* Have PostDomTree use the newly templated DFSPass.Owen Anderson2007-09-281-45/+0
| | | | llvm-svn: 42427
* Factor the calculation details for PostDomTree out of PostDominators.cpp andOwen Anderson2007-09-231-142/+1
| | | | | | | | into a separate header file. Next step: merging PostDominatorCalculation.h with DominatorCalculation.h. llvm-svn: 42251
* reimplement dfs number computation to be significantly faster. This speeds upChris Lattner2007-08-081-9/+3
| | | | | | | natural loop canonicalization (which does many cfg xforms) by 4.3x, for example. This also fixes a bug in postdom dfnumber computation. llvm-svn: 40920
* Fix an iterator invalidation bug I induced.Chris Lattner2007-08-051-2/+1
| | | | llvm-svn: 40830
* Switch some std::sets to SmallPtrSet. This speeds upChris Lattner2007-08-051-3/+3
| | | | | | domtree by 10% and postdomtree by 17% llvm-svn: 40829
* Switch the internal "Info" map from an std::map to a DenseMap. ThisChris Lattner2007-08-051-15/+12
| | | | | | | | speeds up idom by about 45% and postidom by about 33%. Some extra precautions must be taken not to invalidate densemap iterators. llvm-svn: 40827
* switch the DomTreeNodes and IDoms maps in idom/postidom to a Chris Lattner2007-08-041-4/+9
| | | | | | | | DenseMap instead of an std::map. This speeds up postdomtree by about 25% and domtree by about 23%. It also speeds up clients, for example, domfrontier by 11%, mem2reg by 4% and ADCE by 6%. llvm-svn: 40826
* Unreachable block is not a root node in post dominator tree.Devang Patel2007-07-241-2/+6
| | | | llvm-svn: 40458
* Break DominatorTree from ETNode.Devang Patel2007-06-121-78/+5
| | | | | | Remove unused PostETForest. llvm-svn: 37551
* Maintain ETNode as part of DomTreeNode.Devang Patel2007-06-071-4/+24
| | | | | | This adds redundancy for now. llvm-svn: 37492
* s/llvm::DominatorTreeBase::DomTreeNode/llvm::DomTreeNode/gDevang Patel2007-06-041-7/+7
| | | | llvm-svn: 37407
* s/DominatorTreeBase::Node/DominatorTreeBase:DomTreeNode/gDevang Patel2007-06-031-14/+14
| | | | llvm-svn: 37403
* Drop 'const'Devang Patel2007-05-031-3/+3
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-3/+3
| | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
* Do not use typeinfo to identify pass in pass manager.Devang Patel2007-05-011-0/+3
| | | | llvm-svn: 36632
* Cache DT[*SI] lookup.Devang Patel2007-04-181-2/+4
| | | | llvm-svn: 36239
* FixDevang Patel2007-04-181-1/+1
| | | | | | http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070416/047971.html llvm-svn: 36236
* Tabs -> SpacesOwen Anderson2007-04-151-3/+3
| | | | llvm-svn: 36094
* Remove ImmediateDominator analysis. The same information can be obtained ↵Owen Anderson2007-04-151-50/+39
| | | | | | | | | | from DomTree. A lot of code for constructing ImmediateDominator is now folded into DomTree construction. This is part of the ongoing work for PR217. llvm-svn: 36063
* Completely purge DomSet. This is the (hopefully) final patch for PR1171.Owen Anderson2007-04-071-67/+0
| | | | llvm-svn: 35731
* Removed unneeded <iostream> #include.Bill Wendling2006-11-171-1/+0
| | | | llvm-svn: 31810
* Fix DFS walk.Devang Patel2006-09-271-15/+28
| | | | | | Fix http://llvm.org/bugs/show_bug.cgi?id=923 llvm-svn: 30630
* Untabify.Devang Patel2006-09-071-3/+3
| | | | llvm-svn: 30168
* Use iterative do-while loop instead of recursive DFSPass calls toDevang Patel2006-09-071-16/+29
| | | | | | reduce amount of stack space used at runtime. llvm-svn: 30167
* Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.Chris Lattner2006-08-271-5/+5
| | | | llvm-svn: 29921
* For PR780:Reid Spencer2006-06-071-3/+2
| | | | | | | | | | 1. Fix the macros in IncludeFile.h to put everything in the llvm namespace 2. Replace the previous explicit mechanism in all the .h and .cpp files with the macros in IncludeFile.h This gets us a consistent mechanism throughout LLVM for ensuring linkage. Next step is to make sure its used in enough places. llvm-svn: 28715
* Change from using a stub function to a stub variable for passing to theReid Spencer2006-06-011-2/+1
| | | | | | | IncludeFile hack to ensure linkage of analysis passes. This works around some -pedantic warnings about assigning an object to a function. llvm-svn: 28621
* Fix PR681 by using the standard Lengauer and Tarjan algorithm for dominatorNate Begeman2006-03-111-142/+191
| | | | | | | | | | set construction, rather than intersecting various std::sets. This reduces the memory usage for the testcase in PR681 from 496 to 26MB of ram on my darwin system, and reduces the runtime from 32.8 to 0.8 seconds on a 2.5GHz G5. This also enables future code sharing between Dom and PostDom now that they share near-identical implementations. llvm-svn: 26707
* Initial implementation of the ET-Forest data structure for dominators andChris Lattner2006-01-081-0/+63
| | | | | | post-dominators. This code was written/adapted by Daniel Berlin! llvm-svn: 25144
* post-dom-frontiers requires proper post-dominanceChris Lattner2005-11-181-1/+1
| | | | llvm-svn: 24409
* Convert tabs to spacesMisha Brukman2005-04-221-5/+5
| | | | llvm-svn: 21439
* Remove trailing whitespaceMisha Brukman2005-04-211-8/+8
| | | | llvm-svn: 21416
* Add support for unreachableChris Lattner2004-10-161-2/+1
| | | | llvm-svn: 17056
* Do not use the same variable name for two different variables in theChris Lattner2004-10-141-3/+2
| | | | | | | same scope. This confused VC++ (and probably people too!). Patch by Morten Ofstad! llvm-svn: 16985
* Changes For Bug 352Reid Spencer2004-09-011-2/+2
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Fix #includes of i*.h => Instructions.h as per PR403.Misha Brukman2004-07-291-1/+1
| | | | llvm-svn: 15334
* Finegrainify namespacificationChris Lattner2003-12-071-3/+38
| | | | | | Move method out of generic dominators construction code llvm-svn: 10299
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Make use of "external" depth-first iterators to avoid revisiting nodesChris Lattner2003-10-131-3/+3
| | | | | | | multiple times. This reduces the time to construct post-dominance sets a LOT. For example, optimizing perlbmk goes from taking 12.9894s to 1.4074s. llvm-svn: 9091
* Fixed spelling and grammar.Misha Brukman2003-09-111-1/+1
| | | | llvm-svn: 8478
* Renamed DominatorTree::Node::getNode() -> getBlock()Chris Lattner2003-09-111-1/+1
| | | | llvm-svn: 8469
* Rework post dominator information so that we do not have toChris Lattner2003-09-101-88/+97
| | | | | | | | | unify all exit nodes of a function to compute post-dominance information. This does not work with functions that have both unwind and return nodes, because we cannot unify these blocks. The new implementation is better anyway. :) llvm-svn: 8460
* Remove using declarationsChris Lattner2003-09-101-2/+1
| | | | llvm-svn: 8442
* Handle post dominance correctly in the case where blocks do not have a path toChris Lattner2002-10-041-0/+12
| | | | | | the exit node. llvm-svn: 4038
* - Split Dominators.h into Dominators.h & PostDominators.hChris Lattner2002-08-211-1/+5
| | | | llvm-svn: 3432
* - Do not expose ::ID from any of the analyses anymore.Chris Lattner2002-08-211-4/+0
| | | | llvm-svn: 3417
OpenPOWER on IntegriCloud