History log of /external/llvm/include/llvm/Analysis/Dominators.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
305b515c2787f47adecbe120e4b4bef55c5e5525 20-Jun-2012 Chandler Carruth <chandlerc@gmail.com> Remove 'static' from inline functions defined in header files.

There is a pretty staggering amount of this in LLVM's header files, this
is not all of the instances I'm afraid. These include all of the
functions that (in my build) are used by a non-static inline (or
external) function. Specifically, these issues were caught by the new
'-Winternal-linkage-in-inline' warning.

I'll try to just clean up the remainder of the clearly redundant "static
inline" cases on functions (not methods!) defined within headers if
I can do so in a reliable way.

There were even several cases of a missing 'inline' altogether, or my
personal favorite "static bool inline". Go figure. ;]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
1c8cf21d0c96cee0d55b619be58b1b400675e6ac 03-Apr-2012 Rafael Espindola <rafael.espindola@gmail.com> Make dominatedBySlowTreeWalk private and assert cases handled by the caller.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
5004e9849aff165bcbd953f891b402ad23bdd1ac 02-Apr-2012 Rafael Espindola <rafael.espindola@gmail.com> Add missing 'd'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
6226c49bdec886a7162e24e152af579df203e163 31-Mar-2012 Rafael Espindola <rafael.espindola@gmail.com> Add a workaround for building with old versions of clang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
42c487d2e529489648176ebb8e9ef022c07ef785 24-Mar-2012 Rafael Espindola <rafael.espindola@gmail.com> Avoid using dominatedBySlowTreeWalk.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153398 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
8c727f9200cd54adc4a1b742950e80035bc53a20 26-Feb-2012 Rafael Espindola <rafael.espindola@gmail.com> Don't call dominates on unreachable instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
b5c26ef9da16052597d59a412eaae32098aa1be0 20-Jan-2012 Andrew Trick <atrick@apple.com> SCEVExpander fixes. Affects LSR and indvars.

LSR has gradually been improved to more aggressively reuse existing code, particularly existing phi cycles. This exposed problems with the SCEVExpander's sloppy treatment of its insertion point. I applied some rigor to the insertion point problem that will hopefully avoid an endless bug cycle in this area. Changes:

- Always used properlyDominates to check safe code hoisting.

- The insertion point provided to SCEV is now considered a lower bound. This is usually a block terminator or the use itself. Under no cirumstance may SCEVExpander insert below this point.

- LSR is reponsible for finding a "canonical" insertion point across expansion of different expressions.

- Robust logic to determine whether IV increments are in "expanded" form and/or can be safely hoisted above some insertion point.

Fixes PR11783: SCEVExpander assert.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
34b5f0437b9bf67bcbeb166a1c092dbbe3786157 04-Jan-2012 Benjamin Kramer <benny.kra@googlemail.com> Simplify code. No functionality change.

Using DenseMap iterators isn't free as they have to check for empty
buckets. Dominator queries are common so this gives a minor speedup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
e15402f92b6949d2474cc82648239fe22e5a2209 05-Dec-2011 Anna Zaks <ganna@apple.com> Change the Dominators recalculate() function to only rely on GraphTraits

This is a patch by Guoping Long!

As part of utilizing LLVM Dominator computation in Clang, made two changes to LLVM dominators tree implementation:

- (1) Change the recalculate() template function to only rely on GraphTraits.
- (2) Add a size() method to GraphTraits template class to query the number of nodes in the graph.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
54cdad97eb77caf841ade5827a1d5da6b2d89df3 23-Jan-2011 Cameron Zwarich <zwarich@apple.com> In the simpler version of the link-eval data structure that we use in dominator
computation, the Ancestor field is always set to the Parent, so we can remove
the explicit link entirely and merge the Parent and Ancestor fields. Instead of
checking for whether an ancestor exists for a node or not, we simply check
whether the node has already been processed. This is simpler if Compress is
inlined into Eval, so I did that as well.

This is about a 3% speedup running -domtree on test-suite + SPEC2000 & SPEC2006,
but it also opens up some opportunities for further improvement.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
11e222da1fe498a3c528d197ab57982e3bb5762d 23-Jan-2011 Cameron Zwarich <zwarich@apple.com> Remove useless struct fields.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
53e069ffab9ab055f20b5aa9ad54fecaa2612192 23-Jan-2011 Cameron Zwarich <zwarich@apple.com> Remove friend declaration for removed function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
113328db1b6c71d6bb8f62ebef193efb1a44f1a4 11-Jan-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Put the Dominator improvements back in. They were not the cause of bootstrap miscomparisons.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
cbf39b58919497f711de24fa687b044805f58ae7 11-Jan-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Speculatively revert the recent improvements to Dominators.h in an attempt to track down the gcc bootstrap miscompare.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
3a723ab344d9835506ed2b52a2ccd75078670fc7 09-Jan-2011 Tobias Grosser <grosser@fim.uni-passau.de> DominatorTree->print() now prints the status of the DFSNumbers correctly

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
86a582ddfb32816e8f0c3068e0765a1e3a364b50 02-Jan-2011 Cameron Zwarich <zwarich@apple.com> Remove an unused member function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
8252ad1351594039fa5d6633ff3eef1bafb7fdf9 02-Jan-2011 Cameron Zwarich <zwarich@apple.com> Speed up dominator computation some more by optimizing bucket processing. When
naively implemented, the Lengauer-Tarjan algorithm requires a separate bucket
for each vertex. However, this is unnecessary, because each vertex is only
placed into a single bucket (that of its semidominator), and each vertex's
bucket is processed before it is added to any bucket itself.

Instead of using a bucket per vertex, we use a single array Buckets that has two
purposes. Before the vertex V with DFS number i is processed, Buckets[i] stores
the index of the first element in V's bucket. After V's bucket is processed,
Buckets[i] stores the index of the next element in the bucket to which V now
belongs, if any.

Reading from the buckets can also be optimized. Instead of processing the bucket
of V's parent at the end of processing V, we process the bucket of V itself at
the beginning of processing V. This means that the case of the root vertex can
be simplified somewhat. It also means that we don't need to look up the DFS
number of the semidominator of every node in the bucket we are processing,
since we know it is the current index being processed.

This is a 6.5% speedup running -domtree on test-suite + SPEC2000/2006, with
larger speedups of around 12% on the larger benchmarks like GCC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
df3ee64d791624bf28ac3e6820bf8fdd17f1bff1 22-Dec-2010 Dan Gohman <gohman@apple.com> Constify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
081c34b725980f995be9080eaec24cd3dfaaf065 19-Oct-2010 Owen Anderson <resistor@mac.com> Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which
must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize
the pass's dependencies.

Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.

I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems
with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass
registration/creation, please send the testcase to me directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
14e8190f4329bc0ea4d8813da7486d3e05affc7c 06-Oct-2010 Dan Gohman <gohman@apple.com> Constify isReachableFromEntry.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
e6098b620531e77b732accbcc21007abd5df927e 27-Sep-2010 Dan Gohman <gohman@apple.com> Constify properlyDominates in the same manner as dominates.
Add constified overloads for findNearestCommonDominator.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
e2d50046fd29cb3eb2483e080cb7c39b460fbb19 11-Sep-2010 Gabor Greif <ggreif@gmail.com> typoes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
90c579de5a383cee278acc3f7e7b9d0a656e6a35 06-Aug-2010 Owen Anderson <resistor@mac.com> Reapply r110396, with fixes to appease the Linux buildbot gods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
1f74590e9d1b9cf0f1f81a156efea73f76546e05 06-Aug-2010 Owen Anderson <resistor@mac.com> Revert r110396 to fix buildbots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
9ccaf53ada99c63737547c0235baeb8454b04e80 06-Aug-2010 Owen Anderson <resistor@mac.com> Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static
ID member as the sole unique type identifier. Clean up APIs related to this change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
7c71b81a4fccd236e191dbbd6926b35fb4ac9b1e 09-Jul-2010 Gabor Greif <ggreif@gmail.com> fix clang selfhost issue (shadowing)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
e07c3c46d0b5adb7d7af876fd3ea3703aebc47c1 09-Jul-2010 Gabor Greif <ggreif@gmail.com> refactor type expressions and cache operator*'s result

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
45934330150aecbc98c2d60fe7f17fa69e62ba71 18-Jun-2010 Dan Gohman <gohman@apple.com> Don't bother calling releaseMemory before destroying the DominatorTreeBase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
92d7b35bd07f590f6767398294cc7587ccb73f24 24-Mar-2010 Dan Gohman <gohman@apple.com> Fix coding style.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
66617633e7dcc14d8808d3118766916b2240722a 24-Mar-2010 Dan Gohman <gohman@apple.com> Generalize findNearestCommonDominator to work on post-dominators,
based on a suggestion by Jochen Wilhelmy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
67d9bf9dc4df036aad330ba5cdb663d8a7c4af11 01-Mar-2010 Dan Gohman <gohman@apple.com> Whitespace cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
fde781b8d6020c78bb2f3a59845dba251e84808d 08-Jan-2010 Tobias Grosser <grosser@fim.uni-passau.de> Add assert to check dominance dfs numbers.

Compare the dominance information calculated using a dominance tree walk to the
information calculated based on DFS numbers, if XDEBUG is enabled.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92969 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
365ccd3a919b017f79140028dac15ef0c70641dd 08-Jan-2010 Tobias Grosser <grosser@fim.uni-passau.de> Remove workaround in PostDominators

Remove a FIXME and unify code that was necessary to work around broken
updateDFSNumbers(). Before updateDFSNumbers() did not work correctly for post
dominators.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
ecd4694458796d8d9dd205a8eb43ff7163425bca 08-Jan-2010 Tobias Grosser <grosser@fim.uni-passau.de> Fix DFS number calculation for postdominators

The DFS number calculation for postdominators was broken. In the case of
multiple exits that form the post dominator root nodes, do not iterate over
all exits, but start from the virtual root node. Otherwise bbs, that are not
post dominated by any exit but by the virtual root node, will never be assigned
a DFS number.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
1b226abcd97598b40b8b801593b168dcd201cdde 14-Nov-2009 Benjamin Kramer <benny.kra@googlemail.com> Remove dead variable found by clang++.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
70b2bee8e7dda22d70475bf748385654559a0ef8 24-Oct-2009 Dan Gohman <gohman@apple.com> Make DominanceFrontier::addBasicBlock return the iterator for the newly
inserted block.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
f0d24f1f597a84b1a164019ab81831ccd7aea47f 18-Oct-2009 Chris Lattner <sabre@nondot.org> add nodes_begin/end/iterator for dominfo, patch by Tobias Grosser!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
45336a6f22de93b38d693fbdde0c96aa84f1e70f 08-Sep-2009 Chris Lattner <sabre@nondot.org> fix PR4915, a crash in -debug mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
3445d9a72aec68512df265705e2be7704496f541 02-Sep-2009 Dan Gohman <gohman@apple.com> Add const qualifiers to dominates' arguments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
1af0513be758ea49c85e098dc1a3d54157b0def7 27-Aug-2009 Dan Gohman <gohman@apple.com> Be somewhat more consistent about const qualifiers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
0aeed044d6c9849351918f0535b8ce30ba2c4200 27-Aug-2009 Dan Gohman <gohman@apple.com> Strip trailing whitespace from blank lines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
f530c92cd55f35f64904e42e38b3a2bc92b347cb 02-Jul-2009 Dan Gohman <gohman@apple.com> Fix a bunch of other places that used operator[] to test whether
a key is present in a std::map or DenseMap to use find instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
a8ba2c25e9ea7b0d213b485debe5d044efde66a4 03-Jun-2009 Eli Friedman <eli.friedman@gmail.com> PR4317: Handle splits where the new block is unreachable correctly in
DominatorTreeBase::Split.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
15002a2b528e04a5edcfccbec392f5d6b19f7f6a 21-May-2009 Eli Friedman <eli.friedman@gmail.com> Fix broken logic in DominatorTreeBase::Split. Part of PR4238.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
e528fca6735158caefe5d6bb58dcbd0c108845c5 21-May-2009 Eli Friedman <eli.friedman@gmail.com> Fix indentation.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
0a8fe7a2458f0412bce1ed282fd1a3ca6fdc51bc 20-May-2009 Duncan Sands <baldrick@free.fr> When comparing DominanceFrontier's, advance iterators
before erasing nodes, not after. Otherwise dom frontier
checking reads from freed memory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
d68a07650cdb2e18f18f362ba533459aa10e01b6 05-Jan-2009 Dan Gohman <gohman@apple.com> Tidy up #includes, deleting a bunch of unnecessary #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
ae73dc1448d25b02cabc7c64c86c64371453dda8 04-Sep-2008 Dan Gohman <gohman@apple.com> Tidy up several unbeseeming casts from pointer to intptr_t.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
a45a9e416fb24b55c1a0af2369bfda8560edcb50 01-Jul-2008 Devang Patel <dpatel@apple.com> Fix dom tree compare. Don't forget to compare children!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
844a3d163bc644085b1d744797da43eb9bf7ee3b 01-Jul-2008 Devang Patel <dpatel@apple.com> Fix typos in comments.
Thanks for the feedback!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
5b57e720c875277131ed0d4f3b72a582979d1afe 01-Jul-2008 Devang Patel <dpatel@apple.com> Add dom info verifier.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
c60276982225a6add69e823f1df854a59f1d0dad 30-Jun-2008 Owen Anderson <resistor@mac.com> Add an isReachableFromEntry method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52916 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
6d0cc55ef3f3f3c5829e3cc2bab841fd74b0f8cb 18-Jun-2008 Devang Patel <dpatel@apple.com> Check empty dominance frontier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
34cd4a484e532cc463fd5a4bf59b88d13c5467c1 05-May-2008 Evan Cheng <evan.cheng@apple.com> Fix more -Wshorten-64-to-32 warnings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
46bb007014414c966586a983dbf24f38490e0f22 04-May-2008 Owen Anderson <resistor@mac.com> Fix PR1098 by correcting the postdominators analysis.

Patch by Florian Brandner.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
e5ffa900f8cf486fae4f542d72d84e6bab0129ae 07-Apr-2008 Owen Anderson <resistor@mac.com> Make GVN more memory efficient, particularly on code that contains a large number of
allocations, which GVN can't optimize anyways.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
950a4c40b823cd4f09dc71be635229246dfd6cac 25-Mar-2008 Dan Gohman <gohman@apple.com> Add explicit keywords.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
c9235d2e855c56e9aa157969f8132a05f9ba89d8 22-Mar-2008 Dan Gohman <gohman@apple.com> Don't include <map> in Pass.h, which doesn't need it. This requires
adding <map> to many files that actually do need it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
c7fe32e840758baa9ce4f93c321b508a69b98262 19-Mar-2008 Devang Patel <dpatel@apple.com> Do not use virtual function to identify an analysis pass.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
1cee94f04111cfd7114979d6dfddce2669c9380d 18-Mar-2008 Devang Patel <dpatel@apple.com> Identify Analysis pass.
Do not run analysis pass again if analysis info is still available.
This fixes PR1441.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
e8ae2fe2a8cc767f4d7ac55db13bf9adb8e7df70 27-Feb-2008 Dan Gohman <gohman@apple.com> Add -analyze support to postdomtree.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
7ed47a13356daed2a34cd2209a31f92552e3bdd8 29-Dec-2007 Chris Lattner <sabre@nondot.org> Don't attribute in file headers anymore. See llvmdev for the
discussion of this change. Boy are my fingers tired. ;-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
af9ac8f8212a062291e218ea0dea90a2e81dcf66 27-Nov-2007 Owen Anderson <resistor@mac.com> Add accessor for getting the underlying templated type. This is necessary for templated LoopInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
50cdabcfd52e88381ade61450d98a1c757195bef 19-Nov-2007 Dan Gohman <gohman@apple.com> Remove meaningless qualifiers from return types, avoiding compiler warnings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
5d32ec4cb002973cb12bc21a3fe12364794168c8 31-Oct-2007 Owen Anderson <resistor@mac.com> Some fixes to get MachineDomTree working better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
08895f886655d7d8368d2fdb513dcc963b681a74 29-Oct-2007 Owen Anderson <resistor@mac.com> Add a first attempt at dominator information for MBB's. Use with caution: this has been tested to compile. It has not yet been confirmed to generate correct analysis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
4d6d5783d8f803a9ae1ad64b16643f7ddeacbc1b 25-Oct-2007 Owen Anderson <resistor@mac.com> Make it possible for DomTreeBase to be constructed from MachineFunction's as well as just Function's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
7feb3be0b76c72134c515995b1a37466171cf83b 23-Oct-2007 Owen Anderson <resistor@mac.com> Make DomTreeBase not a FunctionPass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
78daec973e81b1e85c2c3f5882845317da432f21 23-Oct-2007 Owen Anderson <resistor@mac.com> Unbreak the build. Forgot to commit this file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43260 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
7b714321df4d286018d594c9c9f132f343dbabdc 18-Oct-2007 Owen Anderson <resistor@mac.com> Move Split<...>() into DomTreeBase. This should make the #include's of DominatorInternals.h
in CodeExtractor and LoopSimplify unnecessary.

Hartmut, could you confirm that this fixes the issues you were seeing?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
efd4a5144b03f61ebfd53d0245176f95e1170fb8 17-Oct-2007 Hartmut Kaiser <hartmut.kaiser@gmail.com> Updated VC++ build system.
Silenced some VC warnings.

I'm getting linker errors, though: unresolved externals:

llvm::Split<class llvm::BasicBlock *,struct llvm::GraphTraits<class llvm::BasicBlock *> >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *)

and

llvm::Split<struct llvm::Inverse<class llvm::BasicBlock *>,struct llvm::GraphTraits<struct llvm::Inverse<class llvm::BasicBlock *> > >(class llvm::DominatorTreeBase<class llvm::BasicBlock> &,class llvm::BasicBlock *)

Where are these defined?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
280f8a2ecedc213372402fe221e2b1a613816f7d 17-Oct-2007 Owen Anderson <resistor@mac.com> Fix some formatting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
ab528fe0fb7caa96ce789bf872d7058aec8ae7c8 30-Sep-2007 Owen Anderson <resistor@mac.com> Template-ize more of the DomTree internal implementation details. Only the calculate() methods for DomTree and PostDomTree remain to be merged/template-ized.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
68099d58cbad1fc6de980b2b01b6f221b560d5d5 24-Sep-2007 Owen Anderson <resistor@mac.com> Merge significant portions of the DomTree and PostDomTree implementations.
The two remaining unmerged parts are DFSPass, and the Calculate().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
ab3c9b1f95fc7ffd4144babd502c112d43aec7c4 18-Aug-2007 Nick Lewycky <nicholas@mxc.ca> Simplify.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
96bf524b531fd404b118fad7bbe410e9aceeaa5d 17-Aug-2007 Devang Patel <dpatel@apple.com> When one branch of condition is eliminated then head of the other
branch is not necessary immediate dominators of merge blcok in all cases.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
4d29ddfa06c111dbea5d27339c1c06191922c0fd 14-Aug-2007 Devang Patel <dpatel@apple.com> No need to use iterator to erase basic block.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
276222a5ae189ed5c6a2afb248d4c8f0335585b4 12-Aug-2007 Reid Spencer <rspencer@reidspencer.com> Change casts from old style to new style. This helps document the details
better, gives the compiler a chance to validate the cast and reduces warnings
if the user turns on -Wold-style-cast option.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
c385ae6ff5d6a978f7a1317e0069853a0e5dca2b 06-Aug-2007 Chris Lattner <sabre@nondot.org> Various random cleanups, add two accessors to DomTreeNode: getDFSNumIn/getDFSNumOut


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
bef204db6fc6b2e69f93f23f644617a3c01968aa 04-Jul-2007 Devang Patel <dpatel@apple.com> Remove unused method - getIDomBlock().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
dc42bc3baf15b227882ab21a501149d3301b294d 04-Jul-2007 Devang Patel <dpatel@apple.com> Fix typo in assertion check.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
ef6ba18a4c6ecddb12ec50668021776a6b73a71c 28-Jun-2007 Devang Patel <dpatel@apple.com> Remove unnecessary comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
dc3a207e787f8ac8bc0c412f206b9f519c436e5e 28-Jun-2007 Devang Patel <dpatel@apple.com> Handle the case when block dominates itself.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
6857e366f57dbf6a83c3fdfbd643dba5de305065 12-Jun-2007 Devang Patel <dpatel@apple.com> Protect updateDFSNumbers()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
9c7ee6b19fab7a269994264bc19bf4d19c33b3c3 12-Jun-2007 Devang Patel <dpatel@apple.com> Make DFS number manipulation methods private.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
b5ef06c5090dbc5552dbb132ee86013d4d32872e 08-Jun-2007 Devang Patel <dpatel@apple.com> Fix spelling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
0ab301c5fa5656b812db8cc944ab41259c8990dc 08-Jun-2007 Devang Patel <dpatel@apple.com> Add new method - nearestCommonDominator().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
4b90e3a276c0bb1bd4d90289e27aa3c4f890b5af 08-Jun-2007 Devang Patel <dpatel@apple.com> Do not use ETForest as well as DomiantorTree. DominatorTree is sufficient.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
f11cc5c298b5c2bae45159ebd305e75dd0d5091b 07-Jun-2007 Devang Patel <dpatel@apple.com> Add basic block level properlyDominates(A,B) interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
259e6cf1911a91ed80f77b132d1509fd0581a4a1 07-Jun-2007 Devang Patel <dpatel@apple.com> Add BasicBlock level dominates(A,B) interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
4cd950f61b5c069b3e6b97e8b4f027be373e27dc 06-Jun-2007 Devang Patel <dpatel@apple.com> Break friendship.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
f082a9ae6b9e9545ee0648cb2e56e426e043eb5d 06-Jun-2007 Devang Patel <dpatel@apple.com> Simplify class hierarchy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
170f2b9bef6da7a6a19c7aec37e30f30a41cb4d3 05-Jun-2007 Devang Patel <dpatel@apple.com> s/ETNode::getChildren/ETNode::getETNodeChildren/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
bbf8c8e71f53ff55c9756efb1e9238c7d3e1451b 04-Jun-2007 Devang Patel <dpatel@apple.com> Remove unused method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
83beaee227dad622a7e378897c6f29b511388fa0 04-Jun-2007 Devang Patel <dpatel@apple.com> s/DominatorTree::createNewNode/DominatorTree::addNewBlock/g


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
26a6908768a0139fff72bc07908d55872cba136b 04-Jun-2007 Devang Patel <dpatel@apple.com> Add basic block level interface to change immediate dominator
and create new node.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37414 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
d82dc669447c0296e5e0444afde834dd802096b3 14-May-2007 Chris Lattner <sabre@nondot.org> update comments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
ecd94c804a563f2a86572dcf1d2e81f397e19daa 06-May-2007 Nick Lewycky <nicholas@mxc.ca> Fix typo in comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
95b745a52eeb94a2be8ffa32e6d32aeadf3613cc 21-Apr-2007 Owen Anderson <resistor@mac.com> Fix some null checks to actually test the part that needs checking.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
13e3a292c55137c63df13f49c723fa53371ada1e 20-Apr-2007 Owen Anderson <resistor@mac.com> Add null checks and const-ify these accessors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
9e7919785ee375540a67622fa19f7d10592c3351 18-Apr-2007 Owen Anderson <resistor@mac.com> Add accessor to get the blocks immediately dominated by a given block to ETForest.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
1c2b862be0cfb3c72870a69cfb72b2f29a93471b 18-Apr-2007 Owen Anderson <resistor@mac.com> Add an accessor to make ETForest more useful.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
558fc740da62bb93ddfc85f353ab0665b566127f 09-Apr-2007 Owen Anderson <resistor@mac.com> Cleanup some from my DomSet-removal changes. Add a new
isReachableFromEntry
test to ETForest to factor a common test out of code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
58efcd3bcdb59223d6311f25a87bdf6c016f2470 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@35222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
5c7e326585f3a543388ba871c3425f7664cd9143 17-Dec-2006 Bill Wendling <isanbard@gmail.com> Added an automatic cast to "std::ostream*" etc. from OStream. We then can
rework the hacks that had us passing OStream in. We pass in std::ostream*
instead, check for null, and then dispatch to the correct print() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
d41b30def3181bce4bf87e8bde664d15663165d0 05-Nov-2006 Jeff Cohen <jeffc@jolt-lang.org> Unbreak VC++ build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
b62ff3f7f18de9e7c84d14e91132e07199663f42 03-Oct-2006 Chris Lattner <sabre@nondot.org> Move DominatorTree to immediately follow DominatorTreeBase


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
f19fb9b4f45acce221ba3c20f37d66ffc1735b54 12-Sep-2006 Nick Lewycky <nicholas@mxc.ca> Add ability to remove nodes from DominatorTree, for when a BasicBlock
is being removed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
c83769ae33024fb86ff63ab46f75a2bfed7975d3 27-May-2006 Chris Lattner <sabre@nondot.org> Fix pastos in comments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
6fe8ff48bd33938a47c7c513bb4aac9d13d3a8e6 19-May-2006 Chris Lattner <sabre@nondot.org> Use class tags instead of struct tags. The coding standards specify this
for public classes for improved win32 compatibility.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
26d5d16a2c8ef6c0763afbfe06c940c40c461d6e 20-Mar-2006 Nate Begeman <natebegeman@mac.com> Move some common data structures between dom and pdom into the base class


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
d87ef134d74761a019d1cc90f10462af1a3bdd4c 29-Nov-2005 Chris Lattner <sabre@nondot.org> Fix PR670 and test/Regression/Transforms/Mem2Reg/2005-11-28-Crash.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
a35bef9db2298f9609d70fa9c898b76fede4a359 18-Nov-2005 Chris Lattner <sabre@nondot.org> Fix the dominates method to return true if the two nodes are the same. Add
a new properlyDominates method to do what the old one did.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
9769ab22265b313171d201b5928688524a01bd87 21-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
1fca5ff62bb2ecb5bfc8974f4dbfc56e9d3ca721 27-Oct-2004 Chris Lattner <sabre@nondot.org> Convert 'struct' to 'class' in various places to adhere to the coding standards
and work better with VC++. Patch contributed by Morten Ofstad!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
5fb00c5893ab62bc2c2ea6ae972d8841b6cc9add 14-Oct-2004 Chris Lattner <sabre@nondot.org> Make sure any client of Dominators.h links in Dominators.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
d49b12041419709a0690667ce1e2b5e9b9a11610 21-May-2004 Chris Lattner <sabre@nondot.org> It's not clear to me whether the old version was correct C++ code, but in
any case it's not portable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
dd298c8c6eb036baf35bf5a559c59d2afd2c7944 12-Mar-2004 Misha Brukman <brukman+llvm@gmail.com> Doxygenified and cleand up comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
31b935357d1396d3be32fdf24dcb0319a6908c6f 07-Dec-2003 Chris Lattner <sabre@nondot.org> Rewrite dominators implementation. Now domset is constructed from immdom,
instead of the other way around.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
6fbcc26f1460eaee4e0eb8b426fc1ff0c7af11be 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added LLVM copyright header (for lack of a better term).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
317a61b2db56f5be5fc7acbe2c81ebac5f15aca7 11-Sep-2003 Chris Lattner <sabre@nondot.org> Get rid of the whole "Node2" business, rename getNode() ->getBlock() to
be more descriptive


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
420a8bf2b2276acdb4d7004ae251a2460999c0e4 10-Sep-2003 Chris Lattner <sabre@nondot.org> Rework dominator and 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@8459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
fd4d8975cf0e7c288b4985b1751113154c7defcc 19-Aug-2003 Chris Lattner <sabre@nondot.org> Add new methods, update comments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
7a73b80b9052136c8cd2234eb3433a07df7cf38e 30-Jun-2003 John Criswell <criswell@uiuc.edu> Merged in autoconf branch. This provides configuration via the autoconf
system.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
3889a2cb05c36f30050941679d5fd55d45e6a3ed 22-Jun-2003 Chris Lattner <sabre@nondot.org> Remove a ton of extraneous #includes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
be583b914d8156b99d3da264d5adca37fee8dbc9 11-Jun-2003 John Criswell <criswell@uiuc.edu> Included assert.h so that the code compiles under newer versions of GCC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
e33b7968514580c8b7f0c6529ddeeb7537ecfb9b 20-Mar-2003 Chris Lattner <sabre@nondot.org> Add more graph traits specializations for dominator tree nodes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
ef05100950dfc6e4c9dfd806695db9f1922a0618 27-Feb-2003 Chris Lattner <sabre@nondot.org> Make the interface to update a little more efficient


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
a24e09df76d327e9fdefa8e6801fedc2b6ad91d3 31-Oct-2002 Chris Lattner <sabre@nondot.org> Add interface to update domfrontier info, thanks to Casey Carter for impl


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
375b8e5128de246ca8720a82747a23b83604ebd5 17-Oct-2002 Chris Lattner <sabre@nondot.org> Use the forward declaration for GraphTraits instead of #including
the header


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
61315bc3676f7d01f4fa82c716327457f565f831 17-Oct-2002 Joel Stanley <jstanley@cs.uiuc.edu> Added partial specialization of GraphTraits for the DominatorTree class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
934487a9cc05c8c1696b09073a9ff6ecee8ef905 29-Sep-2002 Chris Lattner <sabre@nondot.org> Simplify code a bit, add an assertion


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
3a294d6085c69ad7ac1572a2c976624efe66a082 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@3938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
b51bf39b93d9aa48f78dcb49b741e1f5c174084c 26-Sep-2002 Chris Lattner <sabre@nondot.org> Add a new "DominatorSet::addDominator" method to allow updates


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
0c5d27e4a1c7ade2ab8af379f13417359d9d6614 06-Sep-2002 Chris Lattner <sabre@nondot.org> - Doxygenize comments
- Add new method to dominatorset: properlyDominates
- Add synonmys for operator[] to classes so that pointers to dominator
information can be used more easily.
- Add API's to update dominator information


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
e6d2fdff26708cd5e3f76cf2a5d7126ae7edfe93 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@3473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
044f9087915168efb7ab4faf3a1a1ca6b1ca4a82 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@3416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
5f0eb8da62308126d5b61e3eee5bee75b9dc5194 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@3265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
d472e47b6cb59a7cc214cc50db222eb86ddcf748 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@3125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
97f51a3024a72ef8500e95b90e6361e6783160fd 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@3115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
5d549083e2dc55cc1aa035f1069480d052717061 26-Jul-2002 Chris Lattner <sabre@nondot.org> *** empty log message ***


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
00444d0630b8baaedd47bff5981a24197a04a44c 26-Jul-2002 Chris Lattner <sabre@nondot.org> *** empty log message ***


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
0cbc6c2fd8470c62d824667fc600d80a494d26cd 26-Jul-2002 Chris Lattner <sabre@nondot.org> Simplify analyses so that there is only one analysis per class


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
96c466b06ab0c830b07329c1b16037f585ccbe40 29-Apr-2002 Chris Lattner <sabre@nondot.org> Add new optional getPassName() virtual function that a Pass can override
to make debugging output a lot nicer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
8fc2f2072de83665ae20e06929e28317f449bcdf 28-Apr-2002 Chris Lattner <sabre@nondot.org> Remove all contents of the cfg namespace to the global namespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
e7506a366e8bd56c97d10beb68e4db953aebaeca 23-Mar-2002 Chris Lattner <sabre@nondot.org> Rename Method to Function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
facd752d3afaeca7dee46648f2a2ae209a94e5e9 31-Jan-2002 Chris Lattner <sabre@nondot.org> Convert analyses over to new Pass framework


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
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/include/llvm/Analysis/Dominators.h
c5a22ce2b97ca477af345ad8b4dd357fa4561fcd 13-Oct-2001 Chris Lattner <sabre@nondot.org> Changes to compile with GCC 2.96


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
c348d21bf6160c1f1d1511cc432bc8a7ede66244 06-Jul-2001 Chris Lattner <sabre@nondot.org> * Add a DominatorBase base class to maintain root of Dominator info
* Implement post dominator support


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
953932d779b4615d481f711642c9969ef3fcd4b2 03-Jul-2001 Chris Lattner <sabre@nondot.org> Update documentation a bit, correct #include guard


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h
70b6337d681b1d0a62922ce806fc15c2b8a31e5f 02-Jul-2001 Chris Lattner <sabre@nondot.org> Add new anaysis routines for building dominator related information


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Analysis/Dominators.h