History log of /external/llvm/lib/VMCore/Dominators.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d5118c8f78a05ad0b426b6032138d1d934b77c8d 17-Aug-2012 Rafael Espindola <rafael.espindola@gmail.com> Assert that dominates is not given a multiple edge. Finding out if we have
multiple edges between two blocks is linear. If the caller is iterating all
edges leaving a BB that would be a square time algorithm. It is more efficient
to have the callers handle that case.

Currently the only callers are:
* GVN: already avoids the multiple edge case.
* Verifier: could only hit this assert when looking at an invalid invoke. Since
it already rejects the invoke, just avoid computing the dominance for it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
05130597262f3ed00dc4881d64795d117c76e3fc 16-Aug-2012 Rafael Espindola <rafael.espindola@gmail.com> Teach GVN to reason about edges dominating uses. This allows it to handle cases
where some fact lake a=b dominates a use in a phi, but doesn't dominate the
basic block itself.

This feature could also be implemented by splitting critical edges, but at least
with the current algorithm reasoning about the dominance directly is faster.

The time for running "opt -O2" in the testcase in pr10584 is 1.003 times slower
and on gcc as a single file it is 1.0007 times faster.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
25ac7518ffda5f4256e8333dde4801270bb26418 10-Aug-2012 Rafael Espindola <rafael.espindola@gmail.com> Move BasicBlockEdge to the cpp file. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
702bcce747cd3fd89049b16d37c9c88952b5af81 07-Aug-2012 Rafael Espindola <rafael.espindola@gmail.com> The dominance computation already has logic for computing if an edge dominates
a use or a BB, but it is inline in the handling of the invoke instruction.

This patch refactors it so that it can be used in other cases. For example, in

define i32 @f(i32 %x) {
bb0:
%cmp = icmp eq i32 %x, 0
br i1 %cmp, label %bb2, label %bb1
bb1:
br label %bb2
bb2:
%cond = phi i32 [ %x, %bb0 ], [ 0, %bb1 ]
%foo = add i32 %cond, %x
ret i32 %foo
}

GVN should be able to replace %x with 0 in any use that is dominated by the
true edge out of bb0. In the above example the only such use is the one in
the phi.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
0120f7913fc7eee98ac16052e02466c1c50abd9b 13-Apr-2012 Dan Gohman <gohman@apple.com> Def here is an Instruction, so !isa<Instruction>(Def) is always false,
as Eli noticed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
558ece284cef9d42a96577f3943cb3efee8904e0 13-Apr-2012 Dan Gohman <gohman@apple.com> Add forms of dominates and isReachableFromEntry that accept a Use
directly instead of a user Instruction. This allows them to test
whether a def dominates a particular operand if the user instruction
is a PHI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
092c5ccf5bdcaa53151645e5628cec77fcf4062b 30-Mar-2012 Rafael Espindola <rafael.espindola@gmail.com> Handle unreachable code in the dominates functions. This changes users when
needed for correctness, but still doesn't clean up code that now unnecessary
checks for reachability.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
c9ae8cc24c70dda33b68cacf01d2feeeb836f6f2 26-Feb-2012 Rafael Espindola <rafael.espindola@gmail.com> Change the implementation of dominates(inst, inst) to one based on what the
verifier does. This correctly handles invoke.
Thanks to Duncan, Andrew and Chris for the comments.
Thanks to Joerg for the early testing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
b155c23f98e45bf5a1f5e6329b46e8138dfef9ce 18-Feb-2012 Rafael Espindola <rafael.espindola@gmail.com> White space fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
0f4158790916352a52f105dbfb638c9a0db00321 29-Mar-2011 Bill Wendling <isanbard@gmail.com> Spruce up the error output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
a9ba456b7cfc0d202acdb22aa2ddfdc00aa0d63e 20-Jan-2011 Cameron Zwarich <zwarich@apple.com> Update a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123879 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
f889b3bd6c50b6fe43dbb317e004b65d00aa03b6 18-Jan-2011 Cameron Zwarich <zwarich@apple.com> Remove an unnecessary #include.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
4676599e30da78d39d5fe8649a0e5dcb2b6b1372 18-Jan-2011 Cameron Zwarich <zwarich@apple.com> Move DominanceFrontier from VMCore to Analysis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
5d2cf40c40d8c2763a0e5b53481063becdce6e30 18-Jan-2011 Cameron Zwarich <zwarich@apple.com> There is no point in verifying an analysis that is never updated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
72d1695f12b29dddac431f18e2592a8eeaf3796a 18-Jan-2011 Cameron Zwarich <zwarich@apple.com> Remove some now-unused DominanceFrontier methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
57863b8ee0d3adaaed60344bd6c63bace0436d60 08-Jan-2011 Chris Lattner <sabre@nondot.org> make domtree verification print something useful on failure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.cpp
b08ba8824e0e8bf1d4a68594c5efb65bf640ecc1 26-Jul-2010 Dan Gohman <gohman@apple.com> Fix (at least) quadratic worst-case complexity in DominanceFrontier::splitBlock:
don't visit all blocks in the function, and don't iterate over the split blocks'
predecessor lists for each block visited.

Also, remove the special-case test for the entry block. Splitting the entry
block isn't common enough to make this worthwhile.

This fixes a major compile-time bottleneck which is exposed now that
LoopSimplify isn't being redundantly run both before and after
DominanceFrontier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
d2d975233d3f56a0aec3ee3965c1cdb7a6ba1dbd 26-Jul-2010 Dan Gohman <gohman@apple.com> Avoid copying and recopying a std::set.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
e96a6fe351b0cf8da5dc7eaddd44618bbdd25fd3 26-Jul-2010 Dan Gohman <gohman@apple.com> Exit a search loop when the search goal is found.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
1deeaa6467feec957a987af4da1d9b63831628ba 26-Jul-2010 Dan Gohman <gohman@apple.com> Fix formatting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.cpp
74c740052a143027bbc2d14594d6188e2e597fa1 16-Jul-2010 Tobias Grosser <grosser@fim.uni-passau.de> LoopSimplify does not update domfrontier correctly.

This fixes PR7649.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
9a7b37b8a35e60494cde8b2bb6b6cab587836c7a 16-Jul-2010 Tobias Grosser <grosser@fim.uni-passau.de> Add dump() to DominanceFrontier

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
b35798347ea87b8b6d36155b211016a7769f01ab 15-Apr-2010 Dan Gohman <gohman@apple.com> Fix a bunch of namespace polution.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
2c8a9f8ad99f9d3777ea82bb44f8bbf6c983642c 10-Apr-2010 Dan Gohman <gohman@apple.com> Fix a typo and some indentation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
c63ca0a71b299ee0b8fc7dc8405d7f3c856ecfa3 19-Dec-2009 John McCall <rjmccall@apple.com> Qualify a bunch of explicit template instantiations to satisfy clang++.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
dc4a745ffe4732c24cd854305f119f142b7daf71 24-Oct-2009 Dan Gohman <gohman@apple.com> Make DominanceFrontierBase::print's output prettier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
a9245d63f64dc8af8ddd877b94523fcc52c1d702 28-Sep-2009 Dan Gohman <gohman@apple.com> Remove temporary debugging hack.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
9450b0e1a6154192ca597ad27f8eb6e6e807f7a4 28-Sep-2009 Dan Gohman <gohman@apple.com> Move the dominator verification code out of special code embedded within
the PassManager code into a regular verifyAnalysis method.

Also, reorganize loop verification. Make the LoopPass infrastructure
call verifyLoop as needed instead of having LoopInfo::verifyAnalysis
check every loop in the function after each looop pass. Add a new
command-line argument, -verify-loop-info, to enable the expensive
full checking.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
850c9178dc5bc8a49fc41c7cf606bfdd7cd1de3a 22-Sep-2009 Chris Lattner <sabre@nondot.org> Fix PR5023: The instruction form of DominatorTree::dominates did not
take into consideration that the result of an invoke is only valid in
the normal dest, not the unwind dest. This caused 'PHINode::hasConstantValue'
to return true in an invalid situation, causing mem2reg to delete a phi that
was actually needed. This caused a crash building 483.xalancbmk.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
75c7c995b7ed5a5b7527a80d2bbc2b60720b1312 22-Sep-2009 Chris Lattner <sabre@nondot.org> move DominatorTree::dominates for instructions out of line,
no functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.cpp
20e8d5a8cc36c9e39cae1dd99527a4ac0a9d770f 15-Aug-2009 Chris Lattner <sabre@nondot.org> switch DominanceFrontier::splitBlock to use a smallvector for
the pred list instead of a vector, saving a boat load of malloc/free's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
0f4012ca9d0e7a6dba7862201d8267681c0e43b0 21-May-2009 Eli Friedman <eli.friedman@gmail.com> Fix some incorrect logic in DominanceFrontier::splitBlock. Part of
PR4238.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
687e03b2fa6b08fcd59c4f2f0c4aababdd91a71a 30-Jun-2008 Devang Patel <dpatel@apple.com> Move dominator info printer into tool/opt/GraphPrinters.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
42af887105c37fb1dba3e197d70d16a34a0bc06f 27-Jun-2008 Devang Patel <dpatel@apple.com> Add dominator info printer pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
2527e884169eee65f790a16b81daca2d5652eb6d 14-May-2008 Devang Patel <dpatel@apple.com> Dominance Frontier is cfg only pass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
ea705199af871a7541ac0114d62f1b83c40f0f1e 21-Apr-2008 Chris Lattner <sabre@nondot.org> don't print dominators every time it is computed with -debug.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.cpp
05d2318fbde7b603bd6de690f18d48e0ef44d81d 17-Oct-2007 Owen Anderson <resistor@mac.com> Move splitBlock into DomTreeBase from DomTree.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.cpp
1aad74c9e8aba2ad0493620d35966ee3964c1ecb 08-Oct-2007 Owen Anderson <resistor@mac.com> Begin the process of allowing DomTree on MBB's. Step One: template DomTreeNode by making it a typedef of a templated DomTreeNodeBase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
5c4cd0d82e22a50e95a1acffa3364e4f7658ab32 06-Oct-2007 Devang Patel <dpatel@apple.com> Fix bug in updating dominance frontier after loop
unswitch when frontier includes basic blocks that
are not inside loop.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.cpp
58ec8825d46085841a1af55ee7f8117ad25ecf2f 28-Sep-2007 Owen Anderson <resistor@mac.com> Convert DFSPass into a templated friend function, in preparation for making it common to DomTree and PostDomTree.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
eefb31094f2481815884afba0076eadbf89045f1 24-Sep-2007 Owen Anderson <resistor@mac.com> Move DFSPass back down into DominatorTree. I need to figure out what the difference is between it
and the PostDomTree version first.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
d20c824b201b1408d7ea7a4e2d601aee14db5cec 23-Sep-2007 Owen Anderson <resistor@mac.com> Factor the dominator tree calculation details out into DominatorCalculation.h. This
change is not useful in and of itself, but it lays the groundwork for combining
the dominator and postdominator implementations.

Also, factor a few methods that are common to DominatorTree and PostDominatorTree
into DominatorTreeBase. Again, this will make merging the two calculation methods
simpler in the future.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
6d6403c2876ac87b8e51c166e0da8338bfe011f5 14-Aug-2007 Devang Patel <dpatel@apple.com> Assert sooner. Fix wordings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
441c5ee6cfd4fdec78d7d86536610b2e72519450 14-Aug-2007 Devang Patel <dpatel@apple.com> Add methods to erase basic block entry.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
de0e42d3c07466677dab4b3bbc379302e383083b 08-Aug-2007 Chris Lattner <sabre@nondot.org> Speed up updateDFSNumbers with two observations:
1. domtree is a tree, not a graph. There is no need to avoid revisiting nodes with a set.
2. the worklist can contain the child iterator pointers so we don't get N^2 rescanning of children.

This speeds up updateDFSNumbers significantly, making it basically free. On the testcase in PR1432,
this speeds up loopsimplify by another 3x, dropping it from the 12th most expensive pass to the to
the 30th. :) It used to be #1.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.cpp
7ed54a0ece41faeaac4eec1a1e39789a64c1876e 06-Aug-2007 Chris Lattner <sabre@nondot.org> 1. Random tidiness cleanups
2. Make domtree printing print dfin/dfout #'s
3. Fix the Transforms/LoopSimplify/2004-04-13-LoopSimplifyUpdateDomFrontier.ll failure from last night (in DominanceFrontier::splitBlock).

w.r.t. #3, my patches last night happened to expose the bug, but this
has been broken since Owen's r35839 patch to LoopSimplify. The code
was subsequently moved over from LoopSimplify into Dominators, carrying
the latent bug. Fun stuff.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.cpp
7ae8c4c810935625bcdbdf832a33ef4032bad906 05-Aug-2007 Chris Lattner <sabre@nondot.org> Switch DomTreeNode::assignDFSNumber from using a std::set to using
a smallptrset. This speeds up domtree by about 15% and postdomtree by 20%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.cpp
1ff61385c8feb655a1e70cc67999680cc93f0f67 02-Aug-2007 Devang Patel <dpatel@apple.com> Update dominator info for the middle blocks created while spliting
exit edge to preserve LCSSA.

Fix dominance frontier update during loop unswitch. This fixes PR 1589, again



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
2f2e519083d8ac06f4e0a980b43fa78a3aa727f4 02-Aug-2007 Devang Patel <dpatel@apple.com> Undo previous check-in.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
28ae151c48df634b4df5b3630a9a65021574fb4c 02-Aug-2007 Devang Patel <dpatel@apple.com> Update dominator info for the middle blocks created while spliting
exit edge to preserve LCSSA.

Fix dominance frontier update during loop unswitch. This fixes PR 1589.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
c61ce1ad091ad1faaca8d73447f53d43020ddffa 27-Jul-2007 Devang Patel <dpatel@apple.com> Fix edge cases in handling basic block split.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
1ceda1d63ed128b34c332c81890f314ce2e5373d 27-Jun-2007 Devang Patel <dpatel@apple.com> Remove ETForest.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
0e7f728ad1ac25b0ed450fe0f8b86a38d3c2a93a 21-Jun-2007 Devang Patel <dpatel@apple.com> Move code to update dominator information after basic block is split
from LoopSimplify.cpp to Dominator.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
d75405fe95660877f62064211e252c8c8c4c05ea 12-Jun-2007 Devang Patel <dpatel@apple.com> isReachableFromEntry() is not suitable for post dominator.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
de6e1320550bf3a6eb249155fcd14e9a0d84488e 12-Jun-2007 Devang Patel <dpatel@apple.com> Remove redundant check.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
5fd306bf0d75b8dde7e2ff5e42e15e96d5cdfcfe 12-Jun-2007 Devang Patel <dpatel@apple.com> Check A dominates B and vise versa first while searching for nearest
common dominator.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.cpp
bdfa1f837cc760da560595b279c171cba8a75781 12-Jun-2007 Devang Patel <dpatel@apple.com> Use SmallPtrSet instaed of std::set


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
87f05a24160805b13bd68f1908589a193497f157 12-Jun-2007 Devang Patel <dpatel@apple.com> Check immediate dominators first while searching for nearset common dominator.
Fix 80 col violations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
3726b82a55a1864c2f9af86beaaeb2e1f3fbc99b 12-Jun-2007 Devang Patel <dpatel@apple.com> Maintain DFS number in DomTreeNode itself.
This means now ETNodes are not useful anymore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
fe7d4e50b8a34e660a8713da79613041987c19d6 12-Jun-2007 Devang Patel <dpatel@apple.com> Add and use DominatorTreeBase::findNearestCommonDominator().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37545 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
dba2413b2ecf4e781f457036a2eb0f103192e90d 08-Jun-2007 Devang Patel <dpatel@apple.com> Update LoopSimplify to require and preserve DominatorTree only.
Now LoopSimplify does not require nor preserve ETForest.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
e029b2c36907a77c895e4d646c0e91f18a6dd162 08-Jun-2007 Devang Patel <dpatel@apple.com> Add instruction level dominates(A,B) interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.cpp
7d832fe6c1a15c5d0ae65d5c71fd7dcec12c551e 06-Jun-2007 Devang Patel <dpatel@apple.com> Add new dominator tree node into dominator tree node map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
055756bf52af37a4930c6023416537aad844e598 04-Jun-2007 Devang Patel <dpatel@apple.com> Add FIXMEs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.cpp
79b48b8bc07170656e7e2d7500f7fcbf69ccc923 23-May-2007 Devang Patel <dpatel@apple.com> Add dump() routines for debugging assistance.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
99c282453af9353ab1be42604414e8f4de338477 03-May-2007 Devang Patel <dpatel@apple.com> Use iterative while loop instead of recursive function call.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.cpp
3831c553e33c100b84be8fa95228c315ac4fdc30 21-Apr-2007 Devang Patel <dpatel@apple.com> Reset vertex.
Fix http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070416/048092.html


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.cpp
9a341ff3c1cf54af7bda18726a0a30f3de4fa353 15-Apr-2007 Owen Anderson <resistor@mac.com> Fix some unsafe code. Also, tabs -> spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
690c684fc60883171c01da12d826fda6b5678aa8 15-Apr-2007 Owen Anderson <resistor@mac.com> Make ETForest depend on DomTree rather than IDom. This is the first step
in the long process that will be fixing PR 217.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
a9f120bd9f208f8e7ed03c02cc63b2f487edb84f 09-Apr-2007 Chris Lattner <sabre@nondot.org> Convert ImmediateDominators::DFSPass from being recursive to being iterative.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
8645fb95243d0c5b23aa10c48226c84c7fc20f17 09-Apr-2007 Chris Lattner <sabre@nondot.org> minor cleanups


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
8ea325730c6b914350008f1d8160345bfc4781d6 09-Apr-2007 Owen Anderson <resistor@mac.com> Move isReachableFromEntry out of line to avoid an unnecessary #include


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
cd4abb7e6da68510be8a843013fe15176f91ec49 08-Apr-2007 Owen Anderson <resistor@mac.com> Remove DomSet completely. This concludes work on PR1171.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
51bc779096f88ef52a12eaf07d6d1df5266007ca 08-Apr-2007 Nick Lewycky <nicholas@mxc.ca> Don't crash when encountering a BasicBlock that hasn't been registered yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
e9ed4452bce4f5a7f8005d7ebd649a20c22ef268 07-Apr-2007 Owen Anderson <resistor@mac.com> Add DomSet back, and revert the changes to LoopSimplify. Apparently the
ETForest updating mechanisms don't work as I thought they did. These changes
will be reapplied once the issue is worked out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.cpp
9dea3a340a8e3db7eab92ea78c20e317ac4c2545 28-Mar-2007 Devang Patel <dpatel@apple.com> It is not possible to determine dominance between two PHI nodes
based on their ordering. This is applicable to ETForest::dominates() also.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
2ad28e6c486f91d83b2d5bcd30612049a686ad64 27-Mar-2007 Devang Patel <dpatel@apple.com> Use SmallPtrSet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
40d2cd13a59f66581773e235ca6fbe383f6e68ac 27-Mar-2007 Devang Patel <dpatel@apple.com> Spell check.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35374 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
b9dbc4deccefc062a29bce49dc60bf9d5627e603 27-Mar-2007 Devang Patel <dpatel@apple.com> It is not possible to determie dominance between two PHI nodes
based on their ordering.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
9be98dd9c01e41c126fa3da0d794bdbeb5665c11 27-Mar-2007 Devang Patel <dpatel@apple.com> Use std::vector<DFCalculateWorkObject> instead of
std::vector<DFCalculateWorkObject *> to reduce malloc/free traffic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
cbdfb8a9d5e9159f8bbd9b20c9b979e45a4d943c 20-Mar-2007 Devang Patel <dpatel@apple.com> DominanceFrontier::calculate().
Avoid recursion, Use iterative algorithm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
3b57b6f36e906d69cc578f3e2f72dcd263a72a30 20-Mar-2007 Devang Patel <dpatel@apple.com> LoopSimplify::FindPHIToPartitionLoops()
Use ETForest instead of DominatorSet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
2e3def1177c462e14b20ddad71adf5c6b7c3e867 17-Nov-2006 Bill Wendling <isanbard@gmail.com> Removed iostream #includes. Replaced std::cerr with DOUT.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
b71f6728eb4b3f0646da350d87eefc83ea35cf24 22-Sep-2006 Devang Patel <dpatel@apple.com> remove extra white spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
8d3ab25335d985665cbf69231811da9e58e27592 22-Sep-2006 Devang Patel <dpatel@apple.com> Use iterative algorith to assign DFS number. This reduces
call stack depth.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
697e5905805634b343be39391c403c38d2e64999 14-Sep-2006 Devang Patel <dpatel@apple.com> Undo previous check-in.
Reintroduce recursive assignDFSNumber().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
57d12f962d5af0c23283e0a129b95b106a517e46 14-Sep-2006 Devang Patel <dpatel@apple.com> Avoid recursion in assignDFSNumber(). Move def from ET-Forest.h
to Dominators.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.cpp
6aba48338f67f08637b05f38005059f27aaf69bf 02-Aug-2006 Chris Lattner <sabre@nondot.org> Add dominates/properlyDominates queries to IDom.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.cpp
bb636274d41596eac607368e4545c5d67e14816a 14-Mar-2006 Chris Lattner <sabre@nondot.org> Fix an et-forest memory leak. Patch by Daniel Berlin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
25abb1dc094a08a3ba5cb426698b4780cbe438bb 14-Jan-2006 Chris Lattner <sabre@nondot.org> Change ET-Forest to automatically recalculate its DFSnum's if too many slow
queries are made.

Patch by Daniel Berlin!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
6b135b74bd611086a2b7ec1da4ab82c18483f993 09-Jan-2006 Chris Lattner <sabre@nondot.org> Bugfix for etforest updating. Contributed by Daniel Berlin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.cpp
3e317534c7fd5ddbb340770926961c800f3d11c3 26-Dec-2005 Duraid Madina <duraid@octopus.com.au> more HP-UX cleanliness


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
a1fecc9c26a16859cd20b01758f852a868d41355 18-Nov-2005 Chris Lattner <sabre@nondot.org> This requires proper dominance


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
91bd25d9dfe050ec0cc549f2f5d2e83f91739732 25-Apr-2005 Chris Lattner <sabre@nondot.org> Make dominates(A,B) work with post dominators. Patch contributed by
Naveen Neelakantam, thanks!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
9d80930e950214d026afd3a3d18cda32629efdb9 23-Apr-2005 Jeff Cohen <jeffc@jolt-lang.org> Eliminate tabs and trailing spaces


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
fd93908ae8b9684fe71c239e3c6cfe13ff6a2663 22-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
ce9653ce449f1409815547e1bf60abcd1332d2c9 07-Dec-2004 Reid Spencer <rspencer@reidspencer.com> For PR387:\
Make only one print method to avoid overloaded virtual warnings when \
compiled with -Woverloaded-virtual


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
a06b3af2feb4c8a9f717af24243cf51cb7ad97ee 14-Oct-2004 Chris Lattner <sabre@nondot.org> Make sure any client of Dominators.h links in Dominators.cpp
Patch by Morten Ofstad


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.cpp
fab8596459305f8017ccf92131e76c65dd2f6a94 19-Jun-2004 Chris Lattner <sabre@nondot.org> compute dominator tree children in a deterministic order that does not depend
on the address of BasicBlock objects in memory. This eliminates stuff like this:

Inorder Dominator Tree:
[1] %entry
[2] %loopentry
- [3] %loopexit
[3] %no_exit
- [4] %endif
[4] %then
+ [4] %endif
+ [3] %loopexit
[3] %return


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14253 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
f6437a3023c704e9cb4488b2fb58494a81e2a259 19-Jun-2004 Chris Lattner <sabre@nondot.org> Print out immediate dominators in program order, not in random order based on the address
of BasicBlock objects


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
8e72749fc0b44ac8b7a5ffbb275f2ad60f2fa41e 05-Jun-2004 Chris Lattner <sabre@nondot.org> Add missing #include


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
eae45cf44bd1b9ddbb69865f1d46689e57e03417 07-Dec-2003 Chris Lattner <sabre@nondot.org> The recalclulate method was a nasty hack that was once used by the -cee pass,
which never worked itself. The cee pass still doesn't work, but it doesn't use
this method anymore anyway, so eliminate the method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
16addf87bf331645de63575aa15627c74b9cab66 07-Dec-2003 Chris Lattner <sabre@nondot.org> Completely rewrite domset, idom, and domtree implementation. Now it is based
on the algorithm for directly computing immediate dominators presented in this
paper:

A Fast Algorithm for Finding Dominators in a Flowgraph
T. Lengauer & R. Tarjan, ACM TOPLAS July 1979, pgs 121-141.

This _substantially_ speeds up construction of all dominator related information.
Post-dominators to follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
31f8499e83dc4dccbb57ea7e76d1fd49b7010d0c 21-Nov-2003 Chris Lattner <sabre@nondot.org> Finegrainify namespacification


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.cpp
02a3be020a6b4eedb4b489959997d23a22cdf22e 20-Sep-2003 Chris Lattner <sabre@nondot.org> Rename Function::getEntryNode -> getEntryBlock


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.cpp
b884f597d62e8596df0b3856e9ca1b2496f81361 10-Sep-2003 Chris Lattner <sabre@nondot.org> Rework dominator interfaces to handle changes in the post-dominance
construction. Now there may be multiple root blocks, and null is a
special node used to mark the "virtual" exit node of a CFG.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
24f83a15dd50b923fe674a55c5f11d91f383bb01 19-Aug-2003 Chris Lattner <sabre@nondot.org> Do not even attempt to compute dominator information for unreachable blocks


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
5560c9d49ccae132cabf1155f18aa0480dce3eda 18-Aug-2003 Misha Brukman <brukman+llvm@gmail.com> Spell `necessary' correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
e3d3219f769cd35be19589f9958471c8848d9f12 22-May-2003 Chris Lattner <sabre@nondot.org> Remove using declarations and extraneous #includes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
a3c58f1c060bb97371ad06bf10c4836845e0f5a3 13-May-2003 Chris Lattner <sabre@nondot.org> Fix bug: Dominators/2003-05-12-UnreachableCode.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
7ca266fe1f211afaec0bdb3b8d8e8a98d2c78fbc 08-Oct-2002 Chris Lattner <sabre@nondot.org> Expose new "recalculate" method from dominatorset


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
4e4caeffbdf3da85b980386131f6fd364a981153 04-Oct-2002 Chris Lattner <sabre@nondot.org> Fix a nasty problem with dominance calculation for unreachable blocks.
If we had a CFG that look like Entry -> B, Unreachable -> B, then we would
not correctly determine that Entry dominated B, because Entry did not
apparently dominate "unreachable". This patch fixes this by making the entry
node dominate all blocks, including unreachable ones.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
4d7a75a9e31a1b45e68b9cd3f50f18bd90dd0850 29-Sep-2002 Chris Lattner <sabre@nondot.org> Improve printing of dominator sets


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
d74472ed21b1ff6d75c8ae2f4f2885e019d0907d 26-Sep-2002 Chris Lattner <sabre@nondot.org> - Add methods to ImmediateDominators & DominatorTree to allow updates
- Make DominatorTree::Node not inherit from std::vector


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
80b7f8ceb4ea78276f69fe2ae6dfb172f4895165 22-Aug-2002 Chris Lattner <sabre@nondot.org> Fix bug: test/Regression/Assembler/2002-08-22-DominanceProblem.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
607ace696b17036a7f23e4c1936b7ed2e87d3647 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@3415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
9ce231f3aecec46902ac9a108c5721a4d9c62a61 02-Aug-2002 Chris Lattner <sabre@nondot.org> Implement dominator checking in the verifier, so that we check that all
defintiions dominate their uses


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3214 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.cpp
a915ef0fc085d914df69d531c0438d2c330df5de 02-Aug-2002 Chris Lattner <sabre@nondot.org> Fix bug: test/Regression/Other/2002-08-02-DomSetProblem.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.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/VMCore/Dominators.cpp