@@ -1341,6 +1341,10 @@ ftree-loop-distribute-memset-zero
Common Report Var(flag_tree_loop_distribute_memset_zero) Optimization
Enable loop distribution of initialization loops using memset zero
+ftree-loop-distribute-patterns
+Common Report Var(flag_tree_loop_distribute_patterns) Optimization
+Enable loop distribution of patterns code generated with calls to a library
+
ftree-loop-im
Common Report Var(flag_tree_loop_im) Init(1) Optimization
Enable loop invariant motion on trees
@@ -385,6 +385,7 @@ Objective-C and Objective-C++ Dialects}.
-ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse @gol
-ftree-forwprop -ftree-fre -ftree-loop-if-convert -ftree-loop-im @gol
-ftree-phiprop -ftree-loop-distribution -ftree-loop-distribute-memset-zero @gol
+-ftree-loop-distribute-patterns @gol
-ftree-loop-ivcanon -ftree-loop-linear -ftree-loop-optimize @gol
-ftree-parallelize-loops=@var{n} -ftree-pre -ftree-pta -ftree-reassoc @gol
-ftree-sink -ftree-sra -ftree-switch-conversion @gol
@@ -6946,6 +6947,10 @@ ENDDO
and the initialization loop is transformed into a call to memset zero.
This flag is enabled by default at @option{-O3}.
+@item -ftree-loop-distribute-patterns
+Perform loop distribution of patterns that can be code generated with
+calls to a library. This enables @option{-ftree-loop-distribute-memset-zero}.
+
@item -ftree-loop-im
@opindex ftree-loop-im
Perform loop invariant motion on trees. This pass moves only invariants that
@@ -1187,7 +1187,8 @@ tree_loop_distribution (void)
/* If both flag_tree_loop_distribute_memset_zero and
flag_tree_loop_distribution are set, then only memset_zero is
executed. */
- if (flag_tree_loop_distribute_memset_zero)
+ if (flag_tree_loop_distribute_memset_zero
+ || flag_tree_loop_distribute_patterns)
{
/* With the following working list, we're asking
distribute_loop to separate from the rest of the loop the