diff options
author | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-17 09:55:44 +0000 |
---|---|---|
committer | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-17 09:55:44 +0000 |
commit | 429f2f90251e5a4bfdd214017e9824995f5d4ae1 (patch) | |
tree | 8e47af6adacdca86c18a58438d78923a88ce610b /gcc/doc | |
parent | adcfa3a3f7ceb81c9e701b82dfda6d5a5f5b93f3 (diff) | |
download | gcc-429f2f90251e5a4bfdd214017e9824995f5d4ae1.tar.gz |
gcc:
2005-05-17 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in: Add tree-ssa-math-opts.c.
* expr.c (expand_expr_real_1) <case RDIV_EXPR>: Never emit as a*(1/b).
* fold-const.c (distribute_real_division): New.
(fold_binary) <case PLUS_EXPR, case MINUS_EXPR>: Use it.
* tree-pass.h (pass_cse_reciprocals): New.
* tree-optimize.c (init_tree_optimization_passes): Run it.
* tree-ssa-math-opts.c: New file.
* doc/passes.texi: Document the new pass.
gcc/testsuite:
2005-05-17 Paolo Bonzini <bonzini@gnu.org>
* gcc.dg/fold-div-1.c, gcc.dg/recip-1.c, gcc.dg/recip-2.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99826 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/passes.texi | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi index 8e123667ec5..ad6110e7312 100644 --- a/gcc/doc/passes.texi +++ b/gcc/doc/passes.texi @@ -354,7 +354,7 @@ This pass transforms tail recursion into a loop. It is located in This pass sinks stores and assignments down the flowgraph closer to it's use point. The pass is located in @file{tree-ssa-sink.c} and is -described by @code{pass_sink_code} +described by @code{pass_sink_code}. @item Partial redundancy elimination @@ -362,6 +362,12 @@ This pass eliminates partially redundant computations, as well as performing load motion. The pass is located in @file{tree-ssa-pre.c} and is described by @code{pass_pre}. +Just before partial redundancy elimination, 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.c} and is described by +@code{pass_cse_reciprocal}. + @item Loop optimization The main driver of the pass is placed in @file{tree-ssa-loop.c} |