summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/PostDominators.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Begin adding static dependence information to passes, which will allow us toOwen Anderson2010-10-121-1/+4
| | | | | | | | | perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future. llvm-svn: 116334
* Now with fewer extraneous semicolons!Owen Anderson2010-10-071-2/+2
| | | | llvm-svn: 115996
* Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with ↵Owen Anderson2010-07-211-2/+2
| | | | | | RegisterAnalysisGroup<> for pass registration. llvm-svn: 109058
* Fix batch of converting RegisterPass<> to INTIALIZE_PASS().Owen Anderson2010-07-211-2/+2
| | | | llvm-svn: 109045
* cache result of operator*Gabor Greif2010-07-091-2/+3
| | | | llvm-svn: 107977
* Remove unneeded debug in PostDominator runOnFunction()Tobias Grosser2010-04-121-1/+0
| | | | | | | | The information is already available with "opt -analyze". The DominatorTree does also not have this in its runOnFunction. So they behave now more consistent. llvm-svn: 101038
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-1/+1
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92048
* Change Pass::print to take a raw ostream instead of std::ostream,Chris Lattner2009-08-231-3/+2
| | | | | | update all code that this affects. llvm-svn: 79830
* eliminate the std::ostream form of WriteAsOperand and update clients.Chris Lattner2009-08-231-3/+8
| | | | | | This also updates dominator related stuff. llvm-svn: 79825
* Add newline at end of file.Owen Anderson2008-05-291-1/+1
| | | | llvm-svn: 51701
* Force postdom to be linked into opt and bugpoint, even though it is no ↵Owen Anderson2008-05-291-0/+8
| | | | | | longer used by any passes. llvm-svn: 51686
* Remove uses of llvm/System/IncludeFile.h that are no longer needed.Dan Gohman2008-05-061-3/+0
| | | | llvm-svn: 50695
* Implement destructor for PostDominatorTree to eliminate a memory leak.Torok Edwin2008-05-031-0/+5
| | | | llvm-svn: 50607
* Major repairs to the post-dominators implementation. Patch from Florian ↵Owen Anderson2008-04-161-0/+4
| | | | | | Brandner! llvm-svn: 49768
* These passes preserve CFG.Devang Patel2008-03-201-2/+2
| | | | | | This patch fixes Benchmarks/Trimaran/enc-pc1/enc-pc1 failure reported by Grawp-PIC i386 nightly tester llvm-svn: 48623
* Restore isCFGOnly property of various analysis passes.Devang Patel2008-03-201-2/+2
| | | | llvm-svn: 48579
* PassInfo keep tracks whether a pass is an analysis pass or not.Devang Patel2008-03-191-2/+2
| | | | llvm-svn: 48554
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Make DomTree and PostDomTree thin wrappers around DomTreeBase, rather than ↵Owen Anderson2007-10-231-19/+1
| | | | | | inheriting from it. llvm-svn: 43259
* 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
OpenPOWER on IntegriCloud