https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77282

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ok, so autopar is limited by the same issues as vectorization (loop carried
dependences via non-reduction PHIs) and thus should enable the PRE code that
inhibits such transforms.  Would the testcase have vectorization enabled it
would "work".

Index: gcc/tree-ssa-pre.c
===================================================================
--- gcc/tree-ssa-pre.c  (revision 239560)
+++ gcc/tree-ssa-pre.c  (working copy)
@@ -4270,7 +4275,7 @@ eliminate_dom_walker::before_dom_childre
          if (sprime
              && TREE_CODE (sprime) == SSA_NAME
              && do_pre
-             && flag_tree_loop_vectorize
+             && (flag_tree_loop_vectorize || flag_tree_parallelize_loops)
              && loop_outer (b->loop_father)
              && has_zero_uses (sprime)
              && bitmap_bit_p (inserted_exprs, SSA_NAME_VERSION (sprime))

fixes this.

Reply via email to