From 845f524c25de18917f72e8847d7e138d65e4ef08 Mon Sep 17 00:00:00 2001 From: Matthijs Kooijman Date: Thu, 5 Jun 2008 07:55:49 +0000 Subject: [PATCH] Update comments and documentation to reflect that GCSE and ValueNumbering are deprecated by the GVN and GVNPRE passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51983 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/Passes.html | 22 ++++++++++++++++++++-- lib/Analysis/ValueNumbering.cpp | 4 ++++ lib/Transforms/Scalar/GCSE.cpp | 5 ++++- lib/Transforms/Scalar/GVN.cpp | 3 +++ lib/Transforms/Scalar/GVNPRE.cpp | 3 +++ 5 files changed, 34 insertions(+), 3 deletions(-) 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 !

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

@@ -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). +

@@ -859,9 +865,13 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "

\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" -- 2.34.1