[Bug tree-optimization/91822] [10 Regression] FAIL: gcc.dg/pr88031.c (internal compiler error)
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Sep 19 17:47:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91822
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rsandifo at gcc dot gnu.org
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
So I belive we can fix this with
Index: gcc/tree-vect-loop.c
===================================================================
--- gcc/tree-vect-loop.c (revision 275972)
+++ gcc/tree-vect-loop.c (working copy)
@@ -6534,9 +6534,10 @@ vectorizable_reduction (stmt_vec_info st
{
/* Only call during the analysis stage, otherwise we'll lose
STMT_VINFO_TYPE. */
- gcc_assert (reduc_index > 0);
+ gcc_assert (nested_cycle || reduc_index > 0);
if (!vec_stmt && !vectorizable_condition (stmt_info, gsi, NULL,
- reduc_index, NULL, cost_vec))
+ nested_cycle ? 0 : reduc_index,
+ NULL, cost_vec))
{
if (dump_enabled_p ())
dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
not sure what in the end exposed it but nested cycle vectorization treats
the stmts as regular stmt, not really caring about reduc_index. I'll have to
dig (tomorrow) what we've done with the testcase before but it's indeed
the case that relaxing nested cycle things exposes "interesting" paths in
vectorizable_reduction. One of my goals is to split that out, but I'm doing
baby steps in this code...
More information about the Gcc-bugs
mailing list