On Fri, Jun 21, 2019 at 04:17:13PM +0200, Richard Biener wrote:
> 
> The following fixes a quadraticness in reassoc.
> 
> Bootstrap / regtest running on x86_64-unknown-linux-gnu.

build_and_add_sum has several other callers, don't they need a similar
change (or better do the gimple_set_visited (sum, true); inside of
build_and_add_sum)?

> 2019-06-21  Richard Biener  <rguent...@suse.de>
> 
>       PR tree-optimization/90930
>       * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Set visited
>       flag on new stmts to avoid re-processing them.
> 
> Index: gcc/tree-ssa-reassoc.c
> ===================================================================
> --- gcc/tree-ssa-reassoc.c    (revision 272384)
> +++ gcc/tree-ssa-reassoc.c    (working copy)
> @@ -4812,6 +4812,7 @@ rewrite_expr_tree_parallel (gassign *stm
>        else
>       {
>         stmts[i] = build_and_add_sum (TREE_TYPE (last_rhs1), op1, op2, 
> opcode);
> +       gimple_set_visited (stmts[i], true);
>       }
>        if (dump_file && (dump_flags & TDF_DETAILS))
>       {

        Jakub

Reply via email to