Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Sep 2012 09:11:22 -0400
From:      Justin Hibbits <chmeeedalf@gmail.com>
To:        Dimitry Andric <dimitry@andric.com>
Cc:        Garrett Cooper <yanegomi@gmail.com>, freebsd-current@freebsd.org, David Chisnall <theraven@freebsd.org>, Steve Kargl <sgk@troutmask.apl.washington.edu>
Subject:   Re: Compiler performance tests on FreeBSD 10.0-CURRENT
Message-ID:  <CAHSQbTDy7WS0_N7wc68Vi3tzijObDNLchG7jVMWy1uejxYFd8Q@mail.gmail.com>
In-Reply-To: <50472FC7.8010500@andric.com>
References:  <5046670C.6050500@andric.com> <20120904214344.GA17723@troutmask.apl.washington.edu> <504679CB.90204@andric.com> <20120904221413.GA19395@troutmask.apl.washington.edu> <CAGH67wTQavfh9ExsjypnCjw4yrV2RpdUUjxAD2kaZy-PiDocHA@mail.gmail.com> <50471BEE.6030708@andric.com> <96BD00DE-865C-4690-A2F1-E5B7C5D221C0@FreeBSD.org> <50472FC7.8010500@andric.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Sep 5, 2012 at 6:56 AM, Dimitry Andric <dimitry@andric.com> wrote:

> On 2012-09-05 11:36, David Chisnall wrote:
>
>> On 5 Sep 2012, at 10:31, Dimitry Andric wrote:
>>
>>>    TThe
>>>
>>>    -fno-strict-aliasing is not really my choice, but it was introduced
>>>    in the past by Nathan Whitehorn, who apparently saw problems without
>>>    it.  It will hopefully disappear in the future.
>>>
>> Clang currently defaults to no strict aliasing on FreeBSD.
>>
>
> Yes, but upstream has never used -fno-strict-aliasing, just plain -O2.
> I run regular separate builds of pristine upstream clang on FreeBSD, and
> I haven't seen any failures due aliasing problems in all the regression
> tests.  That doesn't guarantee there are no problems, of course...


Aliasing problems are seen much more frequently on PowerPC than any other
platform for Clang.  I found this a while back when doing some Clang
testing, and I still see problems with upstream unless I explicitly set
-fno-strict-aliasing.  Nathan had mentioned wanting to get upstream to use
-fno-strict-aliasing by default on all platforms, but I don't think that
ever made it beyond his suggesting.

I filed this bug to track it: http://llvm.org/bugs/show_bug.cgi?id=11955


In my experience, most C programmers misunderstand the aliasing rules of C
>> and even people on the C++ standards committee often get them wrong for
>> C++, so trading a 1-10% performance increase  for a significant chance of
>> generating non-working code seems like a poor gain.  If people are certain
>> that they do understand the rules, then they can add -fstrict-aliasing to
>> their own CFLAGS.
>>
>
> I'm actually quite interested in the performance difference; I think I
> will run a few tests. :)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHSQbTDy7WS0_N7wc68Vi3tzijObDNLchG7jVMWy1uejxYFd8Q>