diff --git a/docs/Passes.html b/docs/Passes.html index 21b03f53997..bb1a64bd978 100644 --- a/docs/Passes.html +++ b/docs/Passes.html @@ -298,7 +298,7 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "
\n" if !
@@ -307,6 +307,12 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "
\n" if ! 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). +
\n" if !
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 implementation to identify the common + 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). +
@@ -899,6 +909,10 @@ 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. +
@@ -916,6 +930,10 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "\n" if ! 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. +
diff --git a/lib/Analysis/ValueNumbering.cpp b/lib/Analysis/ValueNumbering.cpp index 98f04bd06e1..55323eaa9ed 100644 --- a/lib/Analysis/ValueNumbering.cpp +++ b/lib/Analysis/ValueNumbering.cpp @@ -10,6 +10,10 @@ // This file implements the non-abstract Value Numbering methods as well as a // default implementation for the analysis group. // +// The ValueNumbering analysis pass is mostly deprecated. It is 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). +// //===----------------------------------------------------------------------===// #include "llvm/Analysis/Passes.h" diff --git a/lib/Transforms/Scalar/GCSE.cpp b/lib/Transforms/Scalar/GCSE.cpp index 35752bb6796..94cdcb1400f 100644 --- a/lib/Transforms/Scalar/GCSE.cpp +++ b/lib/Transforms/Scalar/GCSE.cpp @@ -9,9 +9,12 @@ // // 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 implementation to identify the common +// 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). +// //===----------------------------------------------------------------------===// #define DEBUG_TYPE "gcse" diff --git a/lib/Transforms/Scalar/GVN.cpp b/lib/Transforms/Scalar/GVN.cpp index fcfe3c50587..e223281b425 100644 --- a/lib/Transforms/Scalar/GVN.cpp +++ b/lib/Transforms/Scalar/GVN.cpp @@ -10,6 +10,9 @@ // 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. +// //===----------------------------------------------------------------------===// #define DEBUG_TYPE "gvn" diff --git a/lib/Transforms/Scalar/GVNPRE.cpp b/lib/Transforms/Scalar/GVNPRE.cpp index 1746fd80252..e0c869fbf8d 100644 --- a/lib/Transforms/Scalar/GVNPRE.cpp +++ b/lib/Transforms/Scalar/GVNPRE.cpp @@ -16,6 +16,9 @@ // 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. +// //===----------------------------------------------------------------------===// #define DEBUG_TYPE "gvnpre"