Hi Jeff, On Fri, 6 Jul 2018 at 05:44, Jeff Law <l...@redhat.com> wrote: > > As noted in BZ 86010 we can be more aggressive when trimming tails of > mem* or str* calls in gimple DSE since trimming a tail doesn't affect > alignment and residuals are usually handled pretty efficiently in libc. > > Additionally, if the total number of live bytes left is smaller than a > word, then it's highly likely we'll open-code the mem* or str* routine. > So we allow more aggressive trimming in that case too. > > What's left to be able to close out 86010 is to identify when a memory > store could be merged with a subsequent memset. I'm skeptical of the > importance of that optimization, though perhaps it comes up often enough > with structure initializations to be worth doing. > > Bootstrapped and regression tested on x86_64-linux-gnu. Installing on > the trunk. >
This is causing a regression on arm and i686: gcc.dg/tree-ssa/pr30375.c: pattern found 0 times FAIL: gcc.dg/tree-ssa/pr30375.c scan-tree-dump-times dse1 "MEM\\[\\(struct _s \\*\\)&signInfo \\+ [0-9]+B\\] = {}" 1 > Jeff