Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Template DominatorTreeBase by node type. This is the next major step towards | Owen Anderson | 2007-10-16 | 1 | -1/+1 | |
| | | | | | | having dominator information on MBB's. llvm-svn: 43036 | |||||
* | Completely merge the implementation details of DomTree and PostDomTree. | Owen Anderson | 2007-10-03 | 1 | -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 Anderson | 2007-10-03 | 1 | -0/+23 | |
| | | | | | | each one's runOnFunction method. llvm-svn: 42563 | |||||
* | Have PostDomTree use the newly templated DFSPass. | Owen Anderson | 2007-09-28 | 1 | -45/+0 | |
| | | | | llvm-svn: 42427 | |||||
* | Factor the calculation details for PostDomTree out of PostDominators.cpp and | Owen Anderson | 2007-09-23 | 1 | -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 up | Chris Lattner | 2007-08-08 | 1 | -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 Lattner | 2007-08-05 | 1 | -2/+1 | |
| | | | | llvm-svn: 40830 | |||||
* | Switch some std::sets to SmallPtrSet. This speeds up | Chris Lattner | 2007-08-05 | 1 | -3/+3 | |
| | | | | | | domtree by 10% and postdomtree by 17% llvm-svn: 40829 | |||||
* | Switch the internal "Info" map from an std::map to a DenseMap. This | Chris Lattner | 2007-08-05 | 1 | -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 Lattner | 2007-08-04 | 1 | -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 Patel | 2007-07-24 | 1 | -2/+6 | |
| | | | | llvm-svn: 40458 | |||||
* | Break DominatorTree from ETNode. | Devang Patel | 2007-06-12 | 1 | -78/+5 | |
| | | | | | | Remove unused PostETForest. llvm-svn: 37551 | |||||
* | Maintain ETNode as part of DomTreeNode. | Devang Patel | 2007-06-07 | 1 | -4/+24 | |
| | | | | | | This adds redundancy for now. llvm-svn: 37492 | |||||
* | s/llvm::DominatorTreeBase::DomTreeNode/llvm::DomTreeNode/g | Devang Patel | 2007-06-04 | 1 | -7/+7 | |
| | | | | llvm-svn: 37407 | |||||
* | s/DominatorTreeBase::Node/DominatorTreeBase:DomTreeNode/g | Devang Patel | 2007-06-03 | 1 | -14/+14 | |
| | | | | llvm-svn: 37403 | |||||
* | Drop 'const' | Devang Patel | 2007-05-03 | 1 | -3/+3 | |
| | | | | llvm-svn: 36662 | |||||
* | Use 'static const char' instead of 'static const int'. | Devang Patel | 2007-05-02 | 1 | -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 Patel | 2007-05-01 | 1 | -0/+3 | |
| | | | | llvm-svn: 36632 | |||||
* | Cache DT[*SI] lookup. | Devang Patel | 2007-04-18 | 1 | -2/+4 | |
| | | | | llvm-svn: 36239 | |||||
* | Fix | Devang Patel | 2007-04-18 | 1 | -1/+1 | |
| | | | | | | http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070416/047971.html llvm-svn: 36236 | |||||
* | Tabs -> Spaces | Owen Anderson | 2007-04-15 | 1 | -3/+3 | |
| | | | | llvm-svn: 36094 | |||||
* | Remove ImmediateDominator analysis. The same information can be obtained ↵ | Owen Anderson | 2007-04-15 | 1 | -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 Anderson | 2007-04-07 | 1 | -67/+0 | |
| | | | | llvm-svn: 35731 | |||||
* | Removed unneeded <iostream> #include. | Bill Wendling | 2006-11-17 | 1 | -1/+0 | |
| | | | | llvm-svn: 31810 | |||||
* | Fix DFS walk. | Devang Patel | 2006-09-27 | 1 | -15/+28 | |
| | | | | | | Fix http://llvm.org/bugs/show_bug.cgi?id=923 llvm-svn: 30630 | |||||
* | Untabify. | Devang Patel | 2006-09-07 | 1 | -3/+3 | |
| | | | | llvm-svn: 30168 | |||||
* | Use iterative do-while loop instead of recursive DFSPass calls to | Devang Patel | 2006-09-07 | 1 | -16/+29 | |
| | | | | | | reduce amount of stack space used at runtime. llvm-svn: 30167 | |||||
* | Eliminate RegisterAnalysis. RegisterPass now does all that is necessary. | Chris Lattner | 2006-08-27 | 1 | -5/+5 | |
| | | | | llvm-svn: 29921 | |||||
* | For PR780: | Reid Spencer | 2006-06-07 | 1 | -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 the | Reid Spencer | 2006-06-01 | 1 | -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 dominator | Nate Begeman | 2006-03-11 | 1 | -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 and | Chris Lattner | 2006-01-08 | 1 | -0/+63 | |
| | | | | | | post-dominators. This code was written/adapted by Daniel Berlin! llvm-svn: 25144 | |||||
* | post-dom-frontiers requires proper post-dominance | Chris Lattner | 2005-11-18 | 1 | -1/+1 | |
| | | | | llvm-svn: 24409 | |||||
* | Convert tabs to spaces | Misha Brukman | 2005-04-22 | 1 | -5/+5 | |
| | | | | llvm-svn: 21439 | |||||
* | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -8/+8 | |
| | | | | llvm-svn: 21416 | |||||
* | Add support for unreachable | Chris Lattner | 2004-10-16 | 1 | -2/+1 | |
| | | | | llvm-svn: 17056 | |||||
* | Do not use the same variable name for two different variables in the | Chris Lattner | 2004-10-14 | 1 | -3/+2 | |
| | | | | | | | same scope. This confused VC++ (and probably people too!). Patch by Morten Ofstad! llvm-svn: 16985 | |||||
* | Changes For Bug 352 | Reid Spencer | 2004-09-01 | 1 | -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 Brukman | 2004-07-29 | 1 | -1/+1 | |
| | | | | llvm-svn: 15334 | |||||
* | Finegrainify namespacification | Chris Lattner | 2003-12-07 | 1 | -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 Gaeke | 2003-11-11 | 1 | -0/+4 | |
| | | | | llvm-svn: 9903 | |||||
* | Added LLVM project notice to the top of every C++ source file. | John Criswell | 2003-10-20 | 1 | -0/+7 | |
| | | | | | | Header files will be on the way. llvm-svn: 9298 | |||||
* | Make use of "external" depth-first iterators to avoid revisiting nodes | Chris Lattner | 2003-10-13 | 1 | -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 Brukman | 2003-09-11 | 1 | -1/+1 | |
| | | | | llvm-svn: 8478 | |||||
* | Renamed DominatorTree::Node::getNode() -> getBlock() | Chris Lattner | 2003-09-11 | 1 | -1/+1 | |
| | | | | llvm-svn: 8469 | |||||
* | Rework post dominator information so that we do not have to | Chris Lattner | 2003-09-10 | 1 | -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 declarations | Chris Lattner | 2003-09-10 | 1 | -2/+1 | |
| | | | | llvm-svn: 8442 | |||||
* | Handle post dominance correctly in the case where blocks do not have a path to | Chris Lattner | 2002-10-04 | 1 | -0/+12 | |
| | | | | | | the exit node. llvm-svn: 4038 | |||||
* | - Split Dominators.h into Dominators.h & PostDominators.h | Chris Lattner | 2002-08-21 | 1 | -1/+5 | |
| | | | | llvm-svn: 3432 | |||||
* | - Do not expose ::ID from any of the analyses anymore. | Chris Lattner | 2002-08-21 | 1 | -4/+0 | |
| | | | | llvm-svn: 3417 |