On Thu, Jul 7, 2022 at 4:46 PM Jeff Law via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> This is an update to a patch originally posted by Takayuki Suwa a few
> months ago.
>
> When we initialize an array from a STRING_CST we perform the
> initialization in two steps.  The first step copies the STRING_CST to
> the destination.  The second step uses clear_storage to initialize
> storage in the array beyond TREE_STRING_LENGTH of the initializer.
>
> Takayuki's patch added a special case when the STRING_CST itself was all
> zeros which would avoid the copy from the STRING_CST and instead do all
> the initialization via clear_storage which is clearly more runtime
> efficient.
>
> Richie had the suggestion that instead of special casing when the entire
> STRING_CST was NULs  to instead identify when the tail of the STRING_CST
> was NULs.   That's more general and handles Takayuki's case as well.
>
> Bootstrapped and regression tested on x86_64-linux-gnu.  Given I rewrote
> Takayuki's patch I think it needs someone else to review rather than
> self-approving.
>
> OK for the trunk?

OK.

Thanks,
Richard.

> Jeff
>

Reply via email to