diff mbox series

Remove outdated info from passes.texi

Message ID 20240621060732.AA7F813ABD@imap1.dmz-prg2.suse.org
State New
Headers show
Series Remove outdated info from passes.texi | expand

Commit Message

Richard Biener June 21, 2024, 6:07 a.m. UTC
This applies some maintainance to passes.texi by removing references
to no longer existing passes.  It also fixes a few minor things but
doesn't fill the gaps that meanwhile exist.

make pdf tested, pushed.

	* doc/passes.texi: Remove references to no longer existing
	passes.
---
 gcc/doc/passes.texi | 70 ++++++---------------------------------------
 1 file changed, 9 insertions(+), 61 deletions(-)

Comments

Andrew Pinski June 21, 2024, 6:41 a.m. UTC | #1
On Thu, Jun 20, 2024 at 11:08 PM Richard Biener <rguenther@suse.de> wrote:
>
> This applies some maintainance to passes.texi by removing references
> to no longer existing passes.  It also fixes a few minor things but
> doesn't fill the gaps that meanwhile exist.

Note this was recorded as https://gcc.gnu.org/bugzilla/show_bug.cgi?id=951 .

Thanks,
Andrew Pinski

>
> make pdf tested, pushed.
>
>         * doc/passes.texi: Remove references to no longer existing
>         passes.
> ---
>  gcc/doc/passes.texi | 70 ++++++---------------------------------------
>  1 file changed, 9 insertions(+), 61 deletions(-)
>
> diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi
> index b50d3d5635b..5746d3ec636 100644
> --- a/gcc/doc/passes.texi
> +++ b/gcc/doc/passes.texi
> @@ -450,18 +450,6 @@ The following briefly describes the Tree optimization passes that are
>  run after gimplification and what source files they are located in.
>
>  @itemize @bullet
> -@item Remove useless statements
> -
> -This pass is an extremely simple sweep across the gimple code in which
> -we identify obviously dead code and remove it.  Here we do things like
> -simplify @code{if} statements with constant conditions, remove
> -exception handling constructs surrounding code that obviously cannot
> -throw, remove lexical bindings that contain no variables, and other
> -assorted simplistic cleanups.  The idea is to get rid of the obvious
> -stuff quickly rather than wait until later when it's more work to get
> -rid of it.  This pass is located in @file{tree-cfg.cc} and described by
> -@code{pass_remove_useless_stmts}.
> -
>  @item OpenMP lowering
>
>  If OpenMP generation (@option{-fopenmp}) is enabled, this pass lowers
> @@ -511,15 +499,6 @@ This pass decomposes a function into basic blocks and creates all of
>  the edges that connect them.  It is located in @file{tree-cfg.cc} and
>  is described by @code{pass_build_cfg}.
>
> -@item Find all referenced variables
> -
> -This pass walks the entire function and collects an array of all
> -variables referenced in the function, @code{referenced_vars}.  The
> -index at which a variable is found in the array is used as a UID
> -for the variable within this function.  This data is needed by the
> -SSA rewriting routines.  The pass is located in @file{tree-dfa.cc}
> -and is described by @code{pass_referenced_vars}.
> -
>  @item Enter static single assignment form
>
>  This pass rewrites the function such that it is in SSA form.  After
> @@ -527,7 +506,7 @@ this pass, all @code{is_gimple_reg} variables will be referenced by
>  @code{SSA_NAME}, and all occurrences of other variables will be
>  annotated with @code{VDEFS} and @code{VUSES}; PHI nodes will have
>  been inserted as necessary for each basic block.  This pass is
> -located in @file{tree-ssa.cc} and is described by @code{pass_build_ssa}.
> +located in @file{tree-into-ssa.cc} and is described by @code{pass_build_ssa}.
>
>  @item Warn for uninitialized variables
>
> @@ -536,7 +515,7 @@ are fed by default definition.  For non-parameter variables, such
>  uses are uninitialized.  The pass is run twice, before and after
>  optimization (if turned on).  In the first pass we only warn for uses that are
>  positively uninitialized; in the second pass we warn for uses that
> -are possibly uninitialized.  The pass is located in @file{tree-ssa.cc}
> +are possibly uninitialized.  The pass is located in @file{tree-ssa-uninit.cc}
>  and is defined by @code{pass_early_warn_uninitialized} and
>  @code{pass_late_warn_uninitialized}.
>
> @@ -562,15 +541,6 @@ variables that are used once into the expression that uses them and
>  seeing if the result can be simplified.  It is located in
>  @file{tree-ssa-forwprop.cc} and is described by @code{pass_forwprop}.
>
> -@item Copy Renaming
> -
> -This pass attempts to change the name of compiler temporaries involved in
> -copy operations such that SSA->normal can coalesce the copy away.  When compiler
> -temporaries are copies of user variables, it also renames the compiler
> -temporary to the user variable resulting in better use of user symbols.  It is
> -located in @file{tree-ssa-copyrename.c} and is described by
> -@code{pass_copyrename}.
> -
>  @item PHI node optimizations
>
>  This pass recognizes forms of PHI inputs that can be represented as
> @@ -586,10 +556,9 @@ is used to promote variables from in-memory addressable objects to
>  non-aliased variables that can be renamed into SSA form.  We also
>  update the @code{VDEF}/@code{VUSE} memory tags for non-renameable
>  aggregates so that we get fewer false kills.  The pass is located
> -in @file{tree-ssa-alias.cc} and is described by @code{pass_may_alias}.
> +in @file{tree-ssa-structalias.cc} and is described by @code{pass_may_alias}.
>
> -Interprocedural points-to information is located in
> -@file{tree-ssa-structalias.cc} and described by @code{pass_ipa_pta}.
> +Interprocedural points-to information is described by @code{pass_ipa_pta}.
>
>  @item Profiling
>
> @@ -644,8 +613,9 @@ This pass eliminates partially redundant computations, as well as
>  performing load motion.  The pass is located in @file{tree-ssa-pre.cc}
>  and is described by @code{pass_pre}.
>
> -Just before partial redundancy elimination, if
> -@option{-funsafe-math-optimizations} is on, GCC tries to convert
> +@item CSE of reciprocals
> +
> +If @option{-funsafe-math-optimizations} is on, GCC tries to convert
>  divisions to multiplications by the reciprocal.  The pass is located
>  in @file{tree-ssa-math-opts.cc} and is described by
>  @code{pass_cse_reciprocal}.
> @@ -744,10 +714,6 @@ that must be constant even in the presence of conditional branches.
>  The pass is located in @file{tree-ssa-ccp.cc} and is described
>  by @code{pass_ccp}.
>
> -A related pass that works on memory loads and stores, and not just
> -register values, is located in @file{tree-ssa-ccp.cc} and described by
> -@code{pass_store_ccp}.
> -
>  @item Conditional copy propagation
>
>  This is similar to constant propagation but the lattice of values is
> @@ -755,10 +721,6 @@ the ``copy-of'' relation.  It eliminates redundant copies from the
>  code.  The pass is located in @file{tree-ssa-copy.cc} and described by
>  @code{pass_copy_prop}.
>
> -A related pass that works on memory copies, and not just register
> -copies, is located in @file{tree-ssa-copy.cc} and described by
> -@code{pass_store_copy_prop}.
> -
>  @item Value range propagation
>
>  This transformation is similar to constant propagation but
> @@ -811,14 +773,6 @@ run last so that we have as much time as possible to prove that the
>  statement is not reachable.  It is located in @file{tree-cfg.cc} and
>  is described by @code{pass_warn_function_return}.
>
> -@item Leave static single assignment form
> -
> -This pass rewrites the function such that it is in normal form.  At
> -the same time, we eliminate as many single-use temporaries as possible,
> -so the intermediate language is no longer GIMPLE, but GENERIC@.  The
> -pass is located in @file{tree-outof-ssa.cc} and is described by
> -@code{pass_del_ssa}.
> -
>  @item Merge PHI nodes that feed into one another
>
>  This is part of the CFG cleanup passes.  It attempts to join PHI nodes
> @@ -867,14 +821,8 @@ includes loop interchange, scaling, skewing and reversal and they are
>  all geared to the optimization of data locality in array traversals
>  and the removal of dependencies that hamper optimizations such as loop
>  parallelization and vectorization.  The pass is located in
> -@file{tree-loop-linear.c} and described by
> -@code{pass_linear_transform}.
> -
> -@item Removal of empty loops
> -
> -This pass removes loops with no code in them.  The pass is located in
> -@file{tree-ssa-loop-ivcanon.cc} and described by
> -@code{pass_empty_loop}.
> +the @file{graphile-*.cc} files and described by
> +@code{pass_graphite}.
>
>  @item Unrolling of small loops
>
> --
> 2.35.3
diff mbox series

Patch

diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi
index b50d3d5635b..5746d3ec636 100644
--- a/gcc/doc/passes.texi
+++ b/gcc/doc/passes.texi
@@ -450,18 +450,6 @@  The following briefly describes the Tree optimization passes that are
 run after gimplification and what source files they are located in.
 
 @itemize @bullet
-@item Remove useless statements
-
-This pass is an extremely simple sweep across the gimple code in which
-we identify obviously dead code and remove it.  Here we do things like
-simplify @code{if} statements with constant conditions, remove
-exception handling constructs surrounding code that obviously cannot
-throw, remove lexical bindings that contain no variables, and other
-assorted simplistic cleanups.  The idea is to get rid of the obvious
-stuff quickly rather than wait until later when it's more work to get
-rid of it.  This pass is located in @file{tree-cfg.cc} and described by
-@code{pass_remove_useless_stmts}.
-
 @item OpenMP lowering
 
 If OpenMP generation (@option{-fopenmp}) is enabled, this pass lowers
@@ -511,15 +499,6 @@  This pass decomposes a function into basic blocks and creates all of
 the edges that connect them.  It is located in @file{tree-cfg.cc} and
 is described by @code{pass_build_cfg}.
 
-@item Find all referenced variables
-
-This pass walks the entire function and collects an array of all
-variables referenced in the function, @code{referenced_vars}.  The
-index at which a variable is found in the array is used as a UID
-for the variable within this function.  This data is needed by the
-SSA rewriting routines.  The pass is located in @file{tree-dfa.cc}
-and is described by @code{pass_referenced_vars}.
-
 @item Enter static single assignment form
 
 This pass rewrites the function such that it is in SSA form.  After
@@ -527,7 +506,7 @@  this pass, all @code{is_gimple_reg} variables will be referenced by
 @code{SSA_NAME}, and all occurrences of other variables will be
 annotated with @code{VDEFS} and @code{VUSES}; PHI nodes will have
 been inserted as necessary for each basic block.  This pass is
-located in @file{tree-ssa.cc} and is described by @code{pass_build_ssa}.
+located in @file{tree-into-ssa.cc} and is described by @code{pass_build_ssa}.
 
 @item Warn for uninitialized variables
 
@@ -536,7 +515,7 @@  are fed by default definition.  For non-parameter variables, such
 uses are uninitialized.  The pass is run twice, before and after
 optimization (if turned on).  In the first pass we only warn for uses that are
 positively uninitialized; in the second pass we warn for uses that
-are possibly uninitialized.  The pass is located in @file{tree-ssa.cc}
+are possibly uninitialized.  The pass is located in @file{tree-ssa-uninit.cc}
 and is defined by @code{pass_early_warn_uninitialized} and
 @code{pass_late_warn_uninitialized}.
 
@@ -562,15 +541,6 @@  variables that are used once into the expression that uses them and
 seeing if the result can be simplified.  It is located in
 @file{tree-ssa-forwprop.cc} and is described by @code{pass_forwprop}.
 
-@item Copy Renaming
-
-This pass attempts to change the name of compiler temporaries involved in
-copy operations such that SSA->normal can coalesce the copy away.  When compiler
-temporaries are copies of user variables, it also renames the compiler
-temporary to the user variable resulting in better use of user symbols.  It is
-located in @file{tree-ssa-copyrename.c} and is described by
-@code{pass_copyrename}.
-
 @item PHI node optimizations
 
 This pass recognizes forms of PHI inputs that can be represented as
@@ -586,10 +556,9 @@  is used to promote variables from in-memory addressable objects to
 non-aliased variables that can be renamed into SSA form.  We also
 update the @code{VDEF}/@code{VUSE} memory tags for non-renameable
 aggregates so that we get fewer false kills.  The pass is located
-in @file{tree-ssa-alias.cc} and is described by @code{pass_may_alias}.
+in @file{tree-ssa-structalias.cc} and is described by @code{pass_may_alias}.
 
-Interprocedural points-to information is located in
-@file{tree-ssa-structalias.cc} and described by @code{pass_ipa_pta}.
+Interprocedural points-to information is described by @code{pass_ipa_pta}.
 
 @item Profiling
 
@@ -644,8 +613,9 @@  This pass eliminates partially redundant computations, as well as
 performing load motion.  The pass is located in @file{tree-ssa-pre.cc}
 and is described by @code{pass_pre}.
 
-Just before partial redundancy elimination, if
-@option{-funsafe-math-optimizations} is on, GCC tries to convert
+@item CSE of reciprocals
+
+If @option{-funsafe-math-optimizations} is on, GCC tries to convert
 divisions to multiplications by the reciprocal.  The pass is located
 in @file{tree-ssa-math-opts.cc} and is described by
 @code{pass_cse_reciprocal}.
@@ -744,10 +714,6 @@  that must be constant even in the presence of conditional branches.
 The pass is located in @file{tree-ssa-ccp.cc} and is described
 by @code{pass_ccp}.
 
-A related pass that works on memory loads and stores, and not just
-register values, is located in @file{tree-ssa-ccp.cc} and described by
-@code{pass_store_ccp}.
-
 @item Conditional copy propagation
 
 This is similar to constant propagation but the lattice of values is
@@ -755,10 +721,6 @@  the ``copy-of'' relation.  It eliminates redundant copies from the
 code.  The pass is located in @file{tree-ssa-copy.cc} and described by
 @code{pass_copy_prop}.
 
-A related pass that works on memory copies, and not just register
-copies, is located in @file{tree-ssa-copy.cc} and described by
-@code{pass_store_copy_prop}.
-
 @item Value range propagation
 
 This transformation is similar to constant propagation but
@@ -811,14 +773,6 @@  run last so that we have as much time as possible to prove that the
 statement is not reachable.  It is located in @file{tree-cfg.cc} and
 is described by @code{pass_warn_function_return}.
 
-@item Leave static single assignment form
-
-This pass rewrites the function such that it is in normal form.  At
-the same time, we eliminate as many single-use temporaries as possible,
-so the intermediate language is no longer GIMPLE, but GENERIC@.  The
-pass is located in @file{tree-outof-ssa.cc} and is described by
-@code{pass_del_ssa}.
-
 @item Merge PHI nodes that feed into one another
 
 This is part of the CFG cleanup passes.  It attempts to join PHI nodes
@@ -867,14 +821,8 @@  includes loop interchange, scaling, skewing and reversal and they are
 all geared to the optimization of data locality in array traversals
 and the removal of dependencies that hamper optimizations such as loop
 parallelization and vectorization.  The pass is located in
-@file{tree-loop-linear.c} and described by
-@code{pass_linear_transform}.
-
-@item Removal of empty loops
-
-This pass removes loops with no code in them.  The pass is located in
-@file{tree-ssa-loop-ivcanon.cc} and described by
-@code{pass_empty_loop}.
+the @file{graphile-*.cc} files and described by
+@code{pass_graphite}.
 
 @item Unrolling of small loops