History log of /external/llvm/lib/Analysis/PostDominators.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Analysis/PostDominators.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Analysis/PostDominators.cpp
0b8c9a80f20772c3793201ab5b251d3520b9cea3 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move all of the header files which are involved in modelling the LLVM IR
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

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. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
1a8b9dd7fb945ab78232f3853219cc693bcb5fad 05-Apr-2011 Chris Lattner <sabre@nondot.org> remove postdom frontiers, because it is dead. Forward dom frontiers are
still used by RegionInfo :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
9fc5cdf77c812aaa80419036de27576d45894d0d 02-Jan-2011 Chris Lattner <sabre@nondot.org> split dom frontier handling stuff out to its own DominanceFrontier header,
so that Dominators.h is *just* domtree. Also prune #includes a bit.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
2ab36d350293c77fc8941ce1023e4899df7e3a82 12-Oct-2010 Owen Anderson <resistor@mac.com> Begin adding static dependence information to passes, which will allow us to
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
ce665bd2e2b581ab0858d1afe359192bac96b868 08-Oct-2010 Owen Anderson <resistor@mac.com> Now with fewer extraneous semicolons!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
d8cc7be0262092882d848a1c7d8a4cb6752cce6f 22-Jul-2010 Owen Anderson <resistor@mac.com> Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
d13db2c59cc94162d6cf0a04187d408bfef6d4a7 22-Jul-2010 Owen Anderson <resistor@mac.com> Fix batch of converting RegisterPass<> to INTIALIZE_PASS().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
1f2c0c9eaddc745fa18e3878151e3cded6fcf82f 09-Jul-2010 Gabor Greif <ggreif@gmail.com> cache result of operator*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
63d3659a44e14525e729ef52e6f993d3c306ae2f 12-Apr-2010 Tobias Grosser <grosser@fim.uni-passau.de> Remove unneeded debug in PostDominator runOnFunction()

The information is already available with "opt -analyze". The DominatorTree
does also not have this in its runOnFunction. So they behave now
more consistent.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
df9027b0b87302f42eaba5345e16ceae00864881 23-Dec-2009 David Greene <greened@obbligato.org> Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
45cfe545ec8177262dabc70580ce05feaa1c3880 23-Aug-2009 Chris Lattner <sabre@nondot.org> Change Pass::print to take a raw ostream instead of std::ostream,
update all code that this affects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
791102fb1192ac9483274e54cbc42480c9b1af10 23-Aug-2009 Chris Lattner <sabre@nondot.org> eliminate the std::ostream form of WriteAsOperand and update clients.
This also updates dominator related stuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
9491195710811cfe2413bbcd04bce2ed56ea121a 29-May-2008 Owen Anderson <resistor@mac.com> Add newline at end of file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
5771d6c16d71dc3bba59b88592686c76f07f4721 29-May-2008 Owen Anderson <resistor@mac.com> Force postdom to be linked into opt and bugpoint, even though it is no longer used by any passes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
84b7df43fb098268f6ce37a3e32bcc2f455ecf96 06-May-2008 Dan Gohman <gohman@apple.com> Remove uses of llvm/System/IncludeFile.h that are no longer needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
f6055806d4a6a39c49c441215a9a5d3a8e933de0 03-May-2008 Torok Edwin <edwintorok@gmail.com> Implement destructor for PostDominatorTree to eliminate a memory leak.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
1f23e163190f85e46f2009bf43ee4fe8299044e4 16-Apr-2008 Owen Anderson <resistor@mac.com> Major repairs to the post-dominators implementation. Patch from Florian Brandner!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
9f83512ce80279aa5ff243d4285283438360d015 21-Mar-2008 Devang Patel <dpatel@apple.com> These passes preserve CFG.
This patch fixes Benchmarks/Trimaran/enc-pc1/enc-pc1 failure reported by Grawp-PIC i386 nightly tester


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
4f4c28f75f74fe557efb63feaf5f4f8bf639dcd5 20-Mar-2008 Devang Patel <dpatel@apple.com> Restore isCFGOnly property of various analysis passes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
c758209153ca0f6da6737f25ada269c573fba456 19-Mar-2008 Devang Patel <dpatel@apple.com> PassInfo keep tracks whether a pass is an analysis pass or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
4ee451de366474b9c228b4e5fa573795a715216d 29-Dec-2007 Chris Lattner <sabre@nondot.org> Remove attribution from file headers, per discussion on llvmdev.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
d20cc14dbf6d54d896e67b9920cd9bccdc14c41a 23-Oct-2007 Owen Anderson <resistor@mac.com> Make DomTree and PostDomTree thin wrappers around DomTreeBase, rather than inheriting from it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
49b653aa6aaaed17be1c611c5722b5b9ff31a905 16-Oct-2007 Owen Anderson <resistor@mac.com> Template DominatorTreeBase by node type. This is the next major step towards
having dominator information on MBB's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43036 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
9cb7f49ee9d8c77f5ae82e36befde2b3094fdd02 03-Oct-2007 Owen Anderson <resistor@mac.com> Completely merge the implementation details of DomTree and PostDomTree.

Also, add a FIXME for a bug in PostDomTree calculation I noticed while writing this,


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
471ab54df756f2f48c9146ad897672662c3f25f9 03-Oct-2007 Owen Anderson <resistor@mac.com> Factor some code from the DomTree and PostDomTree calculate methods up into
each one's runOnFunction method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
303f47b1dd3166a8abcd5425f863f7b4815a8e42 28-Sep-2007 Owen Anderson <resistor@mac.com> Have PostDomTree use the newly templated DFSPass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
04fa56932052f416ea911fe65615ebecbf154f6d 24-Sep-2007 Owen Anderson <resistor@mac.com> Factor the calculation details for PostDomTree out of PostDominators.cpp and
into a separate header file.

Next step: merging PostDominatorCalculation.h with DominatorCalculation.h.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
3e089ae0b8aa6d9daf0b8ca8f6059422c45936f0 08-Aug-2007 Chris Lattner <sabre@nondot.org> reimplement dfs number computation to be significantly faster. This speeds up
natural loop canonicalization (which does many cfg xforms) by 4.3x, for
example. This also fixes a bug in postdom dfnumber computation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
a31965301da89a7d0c829bded72c6b0da0303c54 05-Aug-2007 Chris Lattner <sabre@nondot.org> Fix an iterator invalidation bug I induced.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
2f0d1ea864ff0fe59c5a2b35390a82fad2865b61 05-Aug-2007 Chris Lattner <sabre@nondot.org> Switch some std::sets to SmallPtrSet. This speeds up
domtree by 10% and postdomtree by 17%


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
e93e31198109b03b8c22296a1500839e95d59b5f 05-Aug-2007 Chris Lattner <sabre@nondot.org> 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
/external/llvm/lib/Analysis/PostDominators.cpp
0a5f83c22cc5d1fe24e57aadde9399fa90eb5c98 05-Aug-2007 Chris Lattner <sabre@nondot.org> switch the DomTreeNodes and IDoms maps in idom/postidom to a
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%.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
62e279bbdb235e247fa43223ba920f97ae27e4ac 24-Jul-2007 Devang Patel <dpatel@apple.com> Unreachable block is not a root node in post dominator tree.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
4d42dea25397f2f822a93edfe9930b36ea85a7e7 12-Jun-2007 Devang Patel <dpatel@apple.com> Break DominatorTree from ETNode.
Remove unused PostETForest.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
9a51157db555395f7a6ad89faec40b3afa121091 07-Jun-2007 Devang Patel <dpatel@apple.com> Maintain ETNode as part of DomTreeNode.
This adds redundancy for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
26042420d642e810f5cdfb2da6156b74aaf80945 04-Jun-2007 Devang Patel <dpatel@apple.com> s/llvm::DominatorTreeBase::DomTreeNode/llvm::DomTreeNode/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
bec7647f985d54d2be2100e3813b85267cf1fe49 03-Jun-2007 Devang Patel <dpatel@apple.com> s/DominatorTreeBase::Node/DominatorTreeBase:DomTreeNode/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
1997473cf72957d0e70322e2fe6fe2ab141c58a6 03-May-2007 Devang Patel <dpatel@apple.com> Drop 'const'


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
3e15bf33e024b9df9e89351a165acfdb1dde51ed 02-May-2007 Devang Patel <dpatel@apple.com> Use 'static const char' instead of 'static const int'.
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
794fd75c67a2cdc128d67342c6d88a504d186896 01-May-2007 Devang Patel <dpatel@apple.com> Do not use typeinfo to identify pass in pass manager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
5a713cc72fd56c81e4cccc582f5eb0c731ad7c9f 18-Apr-2007 Devang Patel <dpatel@apple.com> Cache DT[*SI] lookup.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
7cc6dcf6e00928db982747ce467f8c89a4d6c73e 18-Apr-2007 Devang Patel <dpatel@apple.com> Fix
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070416/047971.html


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
e934fefd6b6c83816e81bc86389cd593fb930773 16-Apr-2007 Owen Anderson <resistor@mac.com> Tabs -> Spaces


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
3dc6776b338f81e2d47daa42cc12c9f91053043d 15-Apr-2007 Owen Anderson <resistor@mac.com> Remove ImmediateDominator analysis. The same information can be obtained from DomTree. A lot of code for
constructing ImmediateDominator is now folded into DomTree construction.

This is part of the ongoing work for PR217.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
ba43963e96c9eb28d4f6862e46c5d3fbdc1f3b96 07-Apr-2007 Owen Anderson <resistor@mac.com> Completely purge DomSet. This is the (hopefully) final patch for PR1171.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
0cb83fcab50c5c7ce1f4d04d2b9ffb878a5a642c 17-Nov-2006 Bill Wendling <isanbard@gmail.com> Removed unneeded <iostream> #include.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
79db5b7370142a97ec36fcae22ac3185b84cac47 27-Sep-2006 Devang Patel <dpatel@apple.com> Fix DFS walk.
Fix http://llvm.org/bugs/show_bug.cgi?id=923


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
f93f68347f06f6e12dd214c21436bfde55e66bf7 08-Sep-2006 Devang Patel <dpatel@apple.com> Untabify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
c8719e935397ee86cd8555771f0a40cc0496e8f2 08-Sep-2006 Devang Patel <dpatel@apple.com> Use iterative do-while loop instead of recursive DFSPass calls to
reduce amount of stack space used at runtime.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
5d8925c7c506a54ebdfb0bc93437ec9f602eaaa0 28-Aug-2006 Chris Lattner <sabre@nondot.org> Eliminate RegisterAnalysis. RegisterPass now does all that is necessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
4f1bd9e9963239c119db70070db1d68286b3de7e 08-Jun-2006 Reid Spencer <rspencer@reidspencer.com> For PR780:
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
192913e281a0e9b97275fa1b84da96b02397323e 01-Jun-2006 Reid Spencer <rspencer@reidspencer.com> Change from using a stub function to a stub variable for passing to the
IncludeFile hack to ensure linkage of analysis passes. This works around
some -pedantic warnings about assigning an object to a function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
442b32b5c5f690bc9b49d67b3ec76008879bc4d9 11-Mar-2006 Nate Begeman <natebegeman@mac.com> Fix PR681 by using the standard Lengauer and Tarjan algorithm for dominator
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
ccacd3ccc2a4a2336085a1d8d58cedb947b2eb52 08-Jan-2006 Chris Lattner <sabre@nondot.org> Initial implementation of the ET-Forest data structure for dominators and
post-dominators. This code was written/adapted by Daniel Berlin!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
4b5086cc717b4d5592534034506a49df38ed0c66 18-Nov-2005 Chris Lattner <sabre@nondot.org> post-dom-frontiers requires proper post-dominance


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
dedf2bd5a34dac25e4245f58bb902ced6b64edd9 22-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Convert tabs to spaces


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
2b37d7cf28b1382420b5e4007042feeb66d21ac8 21-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
ec7c1ab1dafa0fdb383d0e6df4726cecb4c88c70 16-Oct-2004 Chris Lattner <sabre@nondot.org> Add support for unreachable


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
979c38ba207cf2383b761f2bdd09146b05573239 14-Oct-2004 Chris Lattner <sabre@nondot.org> Do not use the same variable name for two different variables in the
same scope. This confused VC++ (and probably people too!). Patch by
Morten Ofstad!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
551ccae044b0ff658fe629dd67edd5ffe75d10e8 02-Sep-2004 Reid Spencer <rspencer@reidspencer.com> Changes For Bug 352
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/.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
47b14a4a6a455c7be169cfd312fcbe796f0ad426 29-Jul-2004 Misha Brukman <brukman+llvm@gmail.com> Fix #includes of i*.h => Instructions.h as per PR403.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
cd7c2877307bc82fdda978dc6f97d4c608e77a80 07-Dec-2003 Chris Lattner <sabre@nondot.org> Finegrainify namespacification
Move method out of generic dominators construction code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
d0fde30ce850b78371fd1386338350591f9ff494 11-Nov-2003 Brian Gaeke <gaeke@uiuc.edu> Put all LLVM code into the llvm namespace, as per bug 109.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
b576c94c15af9a440f69d9d03c2afead7971118c 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added LLVM project notice to the top of every C++ source file.
Header files will be on the way.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
50b5d71cb73144823dba1e0521f8ac2eab7dec66 13-Oct-2003 Chris Lattner <sabre@nondot.org> Make use of "external" depth-first iterators to avoid revisiting nodes
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
2f2d06506c9167dada05b11debe717334de972d4 11-Sep-2003 Misha Brukman <brukman+llvm@gmail.com> Fixed spelling and grammar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
c444a4228f31656f854d15eac671b450df557346 11-Sep-2003 Chris Lattner <sabre@nondot.org> Renamed DominatorTree::Node::getNode() -> getBlock()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
706e61ead9b7913098ff3fbf729263a36e01f1b9 10-Sep-2003 Chris Lattner <sabre@nondot.org> Rework post dominator information so that we do not have to
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. :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
2446b0aaaf60212ffe6dab715ed7b29cd9d91945 10-Sep-2003 Chris Lattner <sabre@nondot.org> Remove using declarations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
7d821db9586dfcd8301957c768c68c58b1ead34a 04-Oct-2002 Chris Lattner <sabre@nondot.org> Handle post dominance correctly in the case where blocks do not have a path to
the exit node.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
a69fd903585a665c031d5aa3fdfb8dc919b44bef 22-Aug-2002 Chris Lattner <sabre@nondot.org> - Split Dominators.h into Dominators.h & PostDominators.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
546b027b3ee0ed3a8c5e551a7e13fc8a1775ede9 21-Aug-2002 Chris Lattner <sabre@nondot.org> - Do not expose ::ID from any of the analyses anymore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
dd5b49512976df3225b67f9685642253186cde3d 08-Aug-2002 Chris Lattner <sabre@nondot.org> - Cleaned up the interface to AnalysisUsage to take analysis class names
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
4c9df7c619ba827729490757dae6dc35bb068a9f 02-Aug-2002 Chris Lattner <sabre@nondot.org> Split dominance calculation and post dominance calculation stuff
Dominance calculation goes to VMCore library to be used by Verifier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
1b0a63fa6450fdf60ae79969ae55fd001cb3b5b3 31-Jul-2002 Chris Lattner <sabre@nondot.org> *** empty log message ***


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
17689dfe241702cbbbd29cf1e4e4229444f3e9f3 30-Jul-2002 Chris Lattner <sabre@nondot.org> Declare that these passes only depend on the CFG of the function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
eb702350f7ac9c8910755fba44a98bc9a09beb4f 29-Jul-2002 Chris Lattner <sabre@nondot.org> * Eliminate the Provided set. All Passes now finally just automatically
provide themselves.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
a59cbb2043c08f3cfb8fb379f0d336e21e070be8 27-Jul-2002 Chris Lattner <sabre@nondot.org> * Standardize how analysis results/passes as printed with the print() virtual
methods
* Eliminate AnalysisID: Now it is just a typedef for const PassInfo*
* Simplify how AnalysisID's are initialized
* Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into
the analyses themselves.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
1e43516dcf4aa152432447397334cd43744d63e1 26-Jul-2002 Chris Lattner <sabre@nondot.org> * Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
ce6ef112c4abb1f7fd64738c5760f48cddc9a4a5 26-Jul-2002 Chris Lattner <sabre@nondot.org> *** empty log message ***


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
7e70829632f82de15db187845666aaca6e04b792 25-Jun-2002 Chris Lattner <sabre@nondot.org> MEGAPATCH checkin.

For details, See: docs/2002-06-25-MegaPatchInfo.txt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
ef704a23b4c3cadf11b093fa628cafa38fa05ad5 14-May-2002 Chris Lattner <sabre@nondot.org> Add method to check to see if two _Instructions_ dominate each other


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
fc514f40a63126bbda9404c717890f8dd6cbbcad 07-May-2002 Chris Lattner <sabre@nondot.org> Move UnifyFunctionExitNodes to Utils library: final resting place this time


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
c8cc4cb03bd90f89be7fe1649542a2d5ae689632 07-May-2002 Chris Lattner <sabre@nondot.org> Updates to move some header files out of include/llvm/Transforms into
the Scalar and Utils subdirectories


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
07a228d1f7342c2fbe7dd7a307ee43b6bc026fc7 06-May-2002 Chris Lattner <sabre@nondot.org> Mark analyses that only depend on the CFG of a function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
c6f3ae5c66c8e0dab6a2bd9601d0e253ef9ba794 29-Apr-2002 Chris Lattner <sabre@nondot.org> Eliminate duplicate or unneccesary #include's


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
1b7f7dc4b45a900fae2e9b062d588a995935727a 28-Apr-2002 Chris Lattner <sabre@nondot.org> Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classes
to the global namespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
a298d27808ecb8ffb574d6e50f56601db2ec5fda 28-Apr-2002 Chris Lattner <sabre@nondot.org> Change the Dominator info and LoopInfo classes to keep track of BasicBlock's, not
const BasicBlocks


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
483e14ee0412a98db1fb0121528d8d621ae3dfdb 27-Apr-2002 Chris Lattner <sabre@nondot.org> s/Method/Function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
f57b845547302d24ecb6a9e79d7bc386f761a6c9 27-Apr-2002 Chris Lattner <sabre@nondot.org> * Rename MethodPass class to FunctionPass
- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
- Method is now const
- It now takes one AnalysisUsage object to fill in instead of 3 vectors
to fill in
- Pass's now specify which other passes they _preserve_ not which ones
they modify (be conservative!)
- A pass can specify that it preserves all analyses (because it never
modifies the underlying program)
* s/Method/Function/g in other random places as well


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
2fbfdcffd3e0cf41422aaa6c526c37cb02b81341 07-Apr-2002 Chris Lattner <sabre@nondot.org> Change references to the Method class to be references to the Function
class. The Method class is obsolete (renamed) and all references to it
are being converted over to Function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
455889aa79e3463a4b0f2161e3d9d72a683268b6 12-Feb-2002 Chris Lattner <sabre@nondot.org> * Pull BasicBlock::pred_* and BasicBlock::succ_* out of BasicBlock.h and into
llvm/Support/CFG.h
* Make pred & succ iterators for intervals global functions
* Add #includes that are now neccesary because BasicBlock.h doesn't include
InstrTypes.h anymore


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1750 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
221d688a5ef21a22c2368c9fff0e92d7966c95e5 12-Feb-2002 Chris Lattner <sabre@nondot.org> Method.h no longer includes BasicBlock.h
Method::inst_* is now in llvm/Support/InstIterator.h
GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
eb5230c4f98bd94c019bc2faed9432ca892e2f11 05-Feb-2002 Chris Lattner <sabre@nondot.org> Remove generic routines to Support/SetOperations.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
65b97090710df5c3fc70752eeff23de5cf4d1532 31-Jan-2002 Chris Lattner <sabre@nondot.org> Provide the right AnalysisID for postdominators


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
93193f806378e06092820c099e437886c7309b94 31-Jan-2002 Chris Lattner <sabre@nondot.org> Convert analyses to new pass structure


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
697954c15da58bd8b186dbafdedd8b06db770201 20-Jan-2002 Chris Lattner <sabre@nondot.org> Changes to build successfully with GCC 3.02


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
cee8f9ae67104576b2028125b56e9ba4856a1d66 27-Nov-2001 Chris Lattner <sabre@nondot.org> Create a new #include "Support/..." directory structure to move things
from "llvm/Support/..." that are not llvm dependant.

Move files and fix #includes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
ff5a8c43c9a299b133aeac6bae73959f4f94b19e 26-Nov-2001 Chris Lattner <sabre@nondot.org> Fix a bad assertion to be correct . The root basic block can be used by PHI nodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
f0604b84c7273fc2503454ecaa198eaee5b615bd 01-Oct-2001 Chris Lattner <sabre@nondot.org> Pull predecessor and successor iterators out of the CFG*.h files, and plop them into
the BasicBlock class where they should be. pred_begin/pred_end become methods on BasicBlock,
and the cfg namespace isn't used anymore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
3ff4387113d7e74a8aa73f80c3518cb95f09a64b 29-Sep-2001 Chris Lattner <sabre@nondot.org> Pull iterators out of CFG.h and CFGdecls and put them in Support directory


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
1b5499bbb82848ee7d5d5a9062eb97b63fd9c5c6 24-Aug-2001 Chris Lattner <sabre@nondot.org> Make sure noone branches to the entry node of the method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
384e5b1595fbc766552f2f2f74586d7b53519623 23-Aug-2001 Chris Lattner <sabre@nondot.org> Handle case where there is no exit node from a flowgraph


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
57dbb3ad63b6a0e77798edb156ef43daa3bfc67e 23-Jul-2001 Chris Lattner <sabre@nondot.org> Moved inline/llvm/Tools/* to include/llvm/Support/*


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
3590830cef7fcc4da262d3f3c329fae44c589374 08-Jul-2001 Chris Lattner <sabre@nondot.org> Fixed post dominator frontiers! Yaay!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
94108ab8a36806d5c7fb56bed4ddffda064f5c5d 06-Jul-2001 Chris Lattner <sabre@nondot.org> Implement support for postdominators, except in dom frontiers


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp
1715229db9c04e73ba8acb8579eb2b9465209785 02-Jul-2001 Chris Lattner <sabre@nondot.org> Checkin of new dominator calculation routines. These will be improved in
the future to do post dominators and stuff


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/PostDominators.cpp