From: Chris Lattner Date: Sat, 10 Oct 2009 18:40:48 +0000 (+0000) Subject: remove some dead passes X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=60f034097e376d49d30e2dd60661410c41c709e9;p=oota-llvm.git remove some dead passes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83717 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/docs/Passes.html b/docs/Passes.html index 362be32d7da..8c408f45354 100644 --- a/docs/Passes.html +++ b/docs/Passes.html @@ -78,7 +78,6 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "

\n" if ! -anders-aaAndersen's Interprocedural Alias Analysis -basicaaBasic Alias Analysis (default AA impl) -basiccgBasic CallGraph Construction --basicvnBasic Value Numbering (default GVN impl) -codegenprepareOptimize for code generation -count-aaCount Alias Analysis Query Responses -debug-aaAA use debugger @@ -90,7 +89,6 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "

\n" if ! -globalsmodref-aaSimple mod/ref analysis for globals -instcountCounts the various types of Instructions -intervalsInterval Partition Construction --load-vnLoad Value Numbering -loopsNatural Loop Construction -memdepMemory Dependence Analysis -no-aaNo Alias Analysis (always returns 'may' alias) @@ -125,11 +123,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "

\n" if ! -deadtypeelimDead Type Elimination -dieDead Instruction Elimination -dseDead Store Elimination --gcseGlobal Common Subexpression Elimination -globaldceDead Global Elimination -globaloptGlobal Variable Optimizer -gvnGlobal Value Numbering --gvnpreGlobal Value Numbering/Partial Redundancy Elimination -indmemremIndirect Malloc and Free Removal -indvarsCanonicalize Induction Variables -inlineFunction Integration/Inlining @@ -161,7 +157,6 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "

\n" if ! -mem2regPromote Memory to Register -memcpyoptOptimize use of memcpy and friends -mergereturnUnify function exit nodes --predsimplifyPredicate Simplifier -prune-ehRemove unused exception handling info -raiseallocsRaise allocations from calls to instructions -reassociateReassociate expressions @@ -302,25 +297,6 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "

\n" if !

Yet to be written.

- -
- Basic Value Numbering (default Value Numbering impl) -
-
-

- This is the default implementation of the ValueNumbering - interface. It walks the SSA def-use chains to trivially identify - lexically identical expressions. This does not require any ahead of time - analysis, so it is a very fast default implementation. -

-

- The ValueNumbering analysis passes are mostly deprecated. They are only used - by the Global Common Subexpression Elimination pass, which - is deprecated by the Global Value Numbering pass (which - does its value numbering on its own). -

-
-
Optimize for code generation @@ -459,28 +435,6 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "

\n" if !

- -
- Load Value Numbering -
-
-

- This pass value numbers load and call instructions. To do this, it finds - lexically identical load instructions, and uses alias analysis to determine - which loads are guaranteed to produce the same value. To value number call - instructions, it looks for calls to functions that do not write to memory - which do not have intervening instructions that clobber the memory that is - read from. -

- -

- This pass builds off of another value numbering pass to implement value - numbering for non-load and non-call instructions. It uses Alias Analysis so - that it can disambiguate the load instructions. The more powerful these base - analyses are, the more powerful the resultant value numbering will be. -

-
-
Natural Loop Construction @@ -863,23 +817,6 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "

\n" if !

- -
- Global Common Subexpression Elimination -
-
-

- This pass is designed to be a very quick global transformation that - eliminates global common subexpressions from a function. It does this by - using an existing value numbering analysis pass to identify the common - subexpressions, eliminating them when possible. -

-

- This pass is deprecated by the Global Value Numbering pass - (which does a better job with its own value numbering). -

-
-
Dead Global Elimination @@ -912,35 +849,11 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "

\n" if !

- This pass performs global value numbering to eliminate fully redundant - instructions. It also performs simple dead load elimination. -

-

- Note that this pass does the value numbering itself, it does not use the - ValueNumbering analysis passes. + This pass performs global value numbering to eliminate fully and partially + redundant instructions. It also performs redundant load elimination.

- -
- Global Value Numbering/Partial Redundancy Elimination -
-
-

- This pass performs a hybrid of global value numbering and partial redundancy - elimination, known as GVN-PRE. It performs partial redundancy elimination on - values, rather than lexical expressions, allowing a more comprehensive view - the optimization. It replaces redundant values with uses of earlier - occurences of the same value. While this is beneficial in that it eliminates - unneeded computation, it also increases register pressure by creating large - live ranges, and should be used with caution on platforms that are very - sensitive to register pressure. -

-

- Note that this pass does the value numbering itself, it does not use the - ValueNumbering analysis passes. -

-
@@ -1576,28 +1489,6 @@ if (X < 3) {

- -
- Predicate Simplifier -
-
-

- Path-sensitive optimizer. In a branch where x == y, replace uses of - x with y. Permits further optimization, such as the - elimination of the unreachable call: -

- -
void test(int *p, int *q)
-{
-  if (p != q)
-    return;
-
-  if (*p != *q)
-    foo(); // unreachable
-}
-
-
Remove unused exception handling info