Apple will use LLVM

Roman Rakus rrakus at redhat.com
Thu Mar 8 17:53:43 UTC 2012


On 02/23/2012 05:32 PM, Jakub Jelinek wrote:
> On Thu, Feb 23, 2012 at 05:26:25PM +0100, Roman Rakus wrote:
>> On 02/22/2012 09:08 AM, Jakub Jelinek wrote:
>>> On Wed, Feb 22, 2012 at 08:46:19AM +0100, Roman Rakus wrote:
>>>> On 02/16/2012 05:33 PM, Jakub Jelinek wrote:
>>>>> For just -O3 or -O2 -ftree-vectorize we could perhaps have some knob in
>>>>> the spec files to request those extra flags, for PGO it really requires
>>>>> some work from the packager (but e.g. bash/grep/awk, perhaps perl/python
>>>>> etc. would definitely improve, gcc itself is already built with PGO).
>>>> What kind of work? I have tried to build bash with added -O2
>>>> -ftree-vectorize -fprofile-generate, but the build fails with many
>>>> undefined reference to `__gcov_*.
>>> That would be probably because -lgcov isn't linked in.  When using
>>> -fprofile-generate, you need to pass that switch not just during
>>> compilation, but also when linking the binaries (or libraries) that contain
>>> -fprofile-generate compiled objects.
>>>
>>> 	Jakub
>> Thanks. Anyone who wants to try/test such built bash can use my
>> builds which I copied to fedorapeople [1]. It was built using mock.
>> Any comments, test results are welcome.
>>
>> [1] http://rrakus.fedorapeople.org/bash-PGO/
> You are compiling with
> 'CPPFLAGS=-D_GNU_SOURCE -DRECYCLES_PIDS  -O2 -ftree-vectorize -fprofile-generate -fprofile-use'
> That doesn't make sense.  You need to build twice.
> Step 1)
>    build with -fprofile-generate (other flags the same in both builds)
> Step 2)
>    run the program on some typical workload (make check, some large
>    configure script you want to ptimize for, the closer it is to what people
>    will use it for, the better)
> Step 3)
>    make clean the *.o file, keep around the *.gcda files step 2) generated,
>    build again, this time with -fprofile-use
>
> 	Jakub
Results are at http://rrakus.fedorapeople.org/bash-PGO/

RR


More information about the devel mailing list