On December 16, 2016 7:43:22 PM GMT+01:00, Jakub Jelinek <ja...@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