On June 21, 2019 5:50:45 PM GMT+02:00, Jakub Jelinek <ja...@redhat.com> wrote:
>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)?

I didn't review them and thus wanted to only affect the caller I know is 
problematic. Other callers might still Form unrelated chains? 

Richard. 

>> 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