[Bug tree-optimization/95272] ice in vectorizable_reduction, at tree-vect-loop.c:6197 since r11-564-g79f0451c67e8ed56

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon May 25 08:57:49 GMT 2020


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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
static void
vect_slp_rearrange_stmts (slp_tree node, unsigned int group_size,
                          vec<unsigned> permutation,
                          hash_set<slp_tree> &visited)
{     
...
      /* ???  Computation nodes are isomorphic and need no rearrangement.
         This is a quick hack to cover those where rearrangement breaks
         semantics because only the first stmt is guaranteed to have the
         correct operation code due to others being swapped or inverted.  */
      stmt_vec_info first = SLP_TREE_SCALAR_STMTS (node)[0];
      if (is_gimple_assign (first->stmt)
          && gimple_assign_rhs_code (first->stmt) == COND_EXPR)
        return;

bites back.  This leaves us with an inconsistent SLP tree (harmless before
the change exposing the ICE).


More information about the Gcc-bugs mailing list