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
--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel