[RFA] [PR tree-optimization/33562] [PATCH 1/4] Byte tracking in DSE

Richard Biener richard.guenther@gmail.com
Sat Dec 17 09:48:00 GMT 2016


On December 16, 2016 7:43:22 PM GMT+01:00, Jakub Jelinek <jakub@redhat.com> wrote:
>On Fri, Dec 16, 2016 at 06:35:58PM +0000, Joseph Myers wrote:
>> On Thu, 15 Dec 2016, Jeff Law wrote:
>> 
>> > This version attacks the problem by improving DSE to track stores
>to memory at
>> > a byte level.  That allows us to determine if a series of stores
>completely
>> > covers an earlier store (thus making the earlier store dead).
>> 
>> Question: suppose you have an assignment for a struct with padding,
>then 
>> stores for all the elements.  Does it detect that the original
>assignment 
>> is dead (because there is no need to copy padding on struct
>assignment)?

In GIMPLE struct assignment is equal to memcpy, so that info is lost after leaving frontend realm.

>We fold memcpy into struct assignment early, does the same apply also
>to
>memcpy?  Or shall we fold memcpy into struct assignment only when there
>is
>no padding (or find different IL representation of that)?

If we want to change that we can use a char[] type for copying on GIMPLE.

Richard.

>	Jakub




More information about the Gcc-patches mailing list