summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/PostDominators.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move all of the header files which are involved in modelling the LLVM IRChandler Carruth2013-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. llvm-svn: 171366
* Use the new script to sort the includes of every file under lib.Chandler Carruth2012-12-031-4/+4
| | | | | | | | | | | | | | | | | Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] llvm-svn: 169131
* remove postdom frontiers, because it is dead. Forward dom frontiers areChris Lattner2011-04-051-51/+0
| | | | | | still used by RegionInfo :( llvm-svn: 128943
* split dom frontier handling stuff out to its own DominanceFrontier header,Chris Lattner2011-01-021-0/+1
| | | | | | so that Dominators.h is *just* domtree. Also prune #includes a bit. llvm-svn: 122714
* 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
OpenPOWER on IntegriCloud