summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/Passes.html22
-rw-r--r--lib/Analysis/ValueNumbering.cpp4
-rw-r--r--lib/Transforms/Scalar/GCSE.cpp5
-rw-r--r--lib/Transforms/Scalar/GVN.cpp3
-rw-r--r--lib/Transforms/Scalar/GVNPRE.cpp3
5 files changed, 34 insertions, 3 deletions
diff --git a/docs/Passes.html b/docs/Passes.html
index 21b03f5399..bb1a64bd97 100644
--- a/docs/Passes.html
+++ b/docs/Passes.html
@@ -298,7 +298,7 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
<!-------------------------------------------------------------------------- -->
<div class="doc_subsection">
- <a name="basicvn">Basic Value Numbering (default GVN impl)</a>
+ <a name="basicvn">Basic Value Numbering (default Value Numbering impl)</a>
</div>
<div class="doc_text">
<p>
@@ -307,6 +307,12 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
lexically identical expressions. This does not require any ahead of time
analysis, so it is a very fast default implementation.
</p>
+ <p>
+ The ValueNumbering analysis passes are mostly deprecated. They are only used
+ by the <a href="#gcse">Global Common Subexpression Elimination pass</a>, which
+ is deprecated by the <a href="#gvn">Global Value Numbering pass</a> (which
+ does its value numbering on its own).
+ </p>
</div>
<!-------------------------------------------------------------------------- -->
@@ -859,9 +865,13 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
<p>
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.
</p>
+ <p>
+ This pass is deprecated by the <a href="#gvn">Global Value Numbering pass</a>
+ (which does a better job with its own value numbering).
+ </p>
</div>
<!-------------------------------------------------------------------------- -->
@@ -899,6 +909,10 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
This pass performs global value numbering to eliminate fully redundant
instructions. It also performs simple dead load elimination.
</p>
+ <p>
+ Note that this pass does the value numbering itself, it does not use the
+ ValueNumbering analysis passes.
+ </p>
</div>
<!-------------------------------------------------------------------------- -->
@@ -916,6 +930,10 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
live ranges, and should be used with caution on platforms that are very
sensitive to register pressure.
</p>
+ <p>
+ Note that this pass does the value numbering itself, it does not use the
+ ValueNumbering analysis passes.
+ </p>
</div>
<!-------------------------------------------------------------------------- -->
diff --git a/lib/Analysis/ValueNumbering.cpp b/lib/Analysis/ValueNumbering.cpp
index 98f04bd06e..55323eaa9e 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 35752bb679..94cdcb1400 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 fcfe3c5058..e223281b42 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 1746fd8025..e0c869fbf8 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"