On Thu, Jun 20, 2024 at 11:08 PM Richard Biener <rguent...@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

Reply via email to