[llvm-dev] Recent -Os code size regressions

James Molloy via llvm-dev llvm-dev at lists.llvm.org
Thu Jan 7 10:38:55 PST 2016


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@255767
> 91177308-0d34-0410-b5e6-96231b3b80d8
> <https://llvm.org/svn/llvm-project/llvm/trunk@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>


More information about the llvm-dev mailing list