doc: document -ftree-scev-cprop
authorAlexander Monakov <amonakov@ispras.ru>
Wed, 29 Aug 2018 12:39:12 +0000 (15:39 +0300)
committerAlexander Monakov <amonakov@gcc.gnu.org>
Wed, 29 Aug 2018 12:39:12 +0000 (15:39 +0300)
PR other/86726
* invoke.texi (Optimization Options): List -ftree-scev-cprop.
(-O): Ditto.
(-ftree-scev-cprop): Document.

From-SVN: r263955

gcc/ChangeLog
gcc/doc/invoke.texi

index 82d6659d615d05f3ec268e9172e04b213ebc0d3d..a8a9b2df206d66a2e34b0b1ba907abfe4c1b5ef4 100644 (file)
@@ -1,3 +1,10 @@
+2018-08-29  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR other/86726
+       * invoke.texi (Optimization Options): List -ftree-scev-cprop.
+       (-O): Ditto.
+       (-ftree-scev-cprop): Document.
+
 2018-08-29  Jan Hubicka  <jh@suse.cz>
 
        * sreal.h (normalize, normalize_up, normalize_down): Add new_sig/new_exp
index e37233d6ed44bf175ffc0489f74d0fd21529cd86..089f8446a46de27e88e397d1e51904ff35659754 100644 (file)
@@ -464,7 +464,7 @@ Objective-C and Objective-C++ Dialects}.
 -ftree-loop-ivcanon  -ftree-loop-linear  -ftree-loop-optimize @gol
 -ftree-loop-vectorize @gol
 -ftree-parallelize-loops=@var{n}  -ftree-pre  -ftree-partial-pre  -ftree-pta @gol
--ftree-reassoc  -ftree-sink  -ftree-slsr  -ftree-sra @gol
+-ftree-reassoc  -ftree-scev-cprop  -ftree-sink  -ftree-slsr  -ftree-sra @gol
 -ftree-switch-conversion  -ftree-tail-merge @gol
 -ftree-ter  -ftree-vectorize  -ftree-vrp  -funconstrained-commons @gol
 -funit-at-a-time  -funroll-all-loops  -funroll-loops @gol
@@ -7813,6 +7813,7 @@ compilation time.
 -ftree-forwprop @gol
 -ftree-fre @gol
 -ftree-phiprop @gol
+-ftree-scev-cprop @gol
 -ftree-sink @gol
 -ftree-slsr @gol
 -ftree-sra @gol
@@ -9120,6 +9121,15 @@ determining number of iterations requires complicated analysis.  Later
 optimizations then may determine the number easily.  Useful especially
 in connection with unrolling.
 
+@item -ftree-scev-cprop
+@opindex ftree-scev-cprop
+Perform final value replacement.  If a variable is modified in a loop
+in such a way that its value when exiting the loop can be determined using
+only its initial value and the number of loop iterations, replace uses of
+the final value by such a computation, provided it is sufficiently cheap.
+This reduces data dependencies and may allow further simplifications.
+Enabled by default at @option{-O} and higher.
+
 @item -fivopts
 @opindex fivopts
 Perform induction variable optimizations (strength reduction, induction