This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][2/2] Make SCCVN use conditional equivalences


On Wed, Aug 12, 2015 at 7:23 AM, Richard Biener <rguenther@suse.de> wrote:
> On Wed, 12 Aug 2015, Richard Biener wrote:
>
>>
>> This brings FRE/PRE up to the same level as DOM in being able to
>> remove redundant conditionals.  It does so by inserting temporary
>> conditional expressions proved to be true on single predecessor
>> edges.
>>
>> I've had to do a lot of testcase adjustments, thus the patch is
>> now re-bootstrapping / testing on x86_64-unknown-linux-gnu.
>
> I've applied with a slight change, trimming down the number of
> equivalences recorded (basically only record anything off
> conditions not already optimized to go either way).
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
>
> Richard.
>
> 2015-08-12  Richard Biener  <rguenther@suse.de>
>
>         * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
>         comparison operand order and commutative ternary op operand order.
>         (sccvn_dom_walker::cond_stack): New state to track temporary
>         expressions.
>         (sccvn_dom_walker::after_dom_children): Remove tempoary expressions
>         no longer valid.
>         (sccvn_dom_walker::record_cond): Add a single temporary conditional
>         expression.
>         (sccvn_dom_walker::record_conds): Add a temporary conditional
>         expressions and all related expressions also true/false.
>         (sccvn_dom_walker::before_dom_children): Record temporary
>         expressions based on the controlling condition of a single
>         predecessor.  When trying to simplify a conditional statement
>         lookup expressions we might have inserted earlier.
>

This caused:

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

H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]