On Thu, Apr 17, 2025 at 8:30 PM Sam James <[email protected]> wrote:
>
> Andrew Pinski <[email protected]> writes:
>
> > DSE has support for trimming memset (and memset like) statements.
> > In this case we have `MEM <unsigned char[17]> [(char * {ref-all})&z] = {};` 
> > in
> > the IR and when we go to trim it, we call build_fold_addr_expr which leaves 
> > around
>
> This looks cut off?

Yes it is. I got distracted while writing the commit message and I
forgot I didn't finish it.
Anyways here it is fully (not going to resend the patch since it is
only the commit message that changes):
    DSE has support for trimming memset (and memset like) statements.
    In this case we have `MEM <unsigned char[17]> [(char *
{ref-all})&z] = {};` in
    the IR and when we go to trim it, we call build_fold_addr_expr
which leaves around
    a cast from one pointer type to another. This is due to build_fold_addr_expr
    being generic but in gimple you don't need these casts.

Thanks,
Andrew

Reply via email to