On Fri, Nov 20, 2015 at 5:06 PM, James Molloy <james at jamesmolloy.co.uk> wrote:> Hi, > > We'd need to look precisely at what's causing the code size bloat. The > midend commit pointed out by Steve shouldn't cause bloat in and of itself - > it should reduce code size. It removes a load of stores and branches. >Hi James, Sounds like your patch should have been the best of both worlds, so can you investigate the -Os code size mystery? Does the problem even occur in your tests? If you don't have time, then Kevin's idea to bypass the problem for now with an optsize check makes sense to me. Regards, -steve
Hi James, The code size problem is fixed. Thanks for that! I assume
the commit was this one:
Date: Wed Dec 16 14:12:44 2015 +0000
[SimplifyCFG] Don't create unnecessary PHIs
In conditional store merging, we were creating PHIs when we didn't
need to. If the value to be predicated isn't defined in the block
we're predicating, then it doesn't need a PHI at all (because we
only
deal with triangles and diamonds, any value not in the predicated BB
must dominate the predicated BB).
This fixes a large code size increase in some benchmarks in a
popular embedded benchmark suite.
Now with a fix (and fixed tests) for the conformance issue seen in Chromium.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk at 255767
91177308-0d34-0410-b5e6-96231b3b80d8
Regards,
-steve
On Tue, Dec 1, 2015 at 2:11 PM, Steve King <steve at metrokings.com>
wrote:> On Fri, Nov 20, 2015 at 5:06 PM, James Molloy <james at
jamesmolloy.co.uk> wrote:
>> Hi,
>>
>> We'd need to look precisely at what's causing the code size
bloat. The
>> midend commit pointed out by Steve shouldn't cause bloat in and of
itself -
>> it should reduce code size. It removes a load of stores and branches.
>>
>
> Hi James, Sounds like your patch should have been the best of both
> worlds, so can you investigate the -Os code size mystery? Does the
> problem even occur in your tests? If you don't have time, then
> Kevin's idea to bypass the problem for now with an optsize check makes
> sense to me.
>
> Regards,
> -steve
James Molloy via llvm-dev
2016-Jan-07 18:38 UTC
[llvm-dev] Recent -Os code size regressions
Great! Yep, that's the commit as I expected. On Thu, 7 Jan 2016 at 18:16, Steve King <steve at metrokings.com> wrote:> Hi James, The code size problem is fixed. Thanks for that! I assume > the commit was this one: > > Date: Wed Dec 16 14:12:44 2015 +0000 > > [SimplifyCFG] Don't create unnecessary PHIs > > In conditional store merging, we were creating PHIs when we didn't > need to. If the value to be predicated isn't defined in the block > we're predicating, then it doesn't need a PHI at all (because we only > deal with triangles and diamonds, any value not in the predicated BB > must dominate the predicated BB). > > This fixes a large code size increase in some benchmarks in a > popular embedded benchmark suite. > > Now with a fix (and fixed tests) for the conformance issue seen in > Chromium. > > git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk at 255767 > 91177308-0d34-0410-b5e6-96231b3b80d8 > <https://llvm.org/svn/llvm-project/llvm/trunk at 25576791177308-0d34-0410-b5e6-96231b3b80d8> > > Regards, > -steve > > > On Tue, Dec 1, 2015 at 2:11 PM, Steve King <steve at metrokings.com> wrote: > > On Fri, Nov 20, 2015 at 5:06 PM, James Molloy <james at jamesmolloy.co.uk> > wrote: > >> Hi, > >> > >> We'd need to look precisely at what's causing the code size bloat. The > >> midend commit pointed out by Steve shouldn't cause bloat in and of > itself - > >> it should reduce code size. It removes a load of stores and branches. > >> > > > > Hi James, Sounds like your patch should have been the best of both > > worlds, so can you investigate the -Os code size mystery? Does the > > problem even occur in your tests? If you don't have time, then > > Kevin's idea to bypass the problem for now with an optsize check makes > > sense to me. > > > > Regards, > > -steve >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160107/44141a84/attachment.html>