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 >