Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
GCC 4.5 testing
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3 ... 10, 11, 12, 13, 14, 15  Next  
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2860
Location: Bay Area, CA

PostPosted: Sun Aug 08, 2010 6:43 pm    Post subject: Reply with quote

Continuing my ricer streak, I compiled p7zip with -O3 instead of -O2, and I gain 5% speed. I think that's it for the day!
Back to top
View user's profile Send private message
cruzki123
Apprentice
Apprentice


Joined: 16 May 2008
Posts: 248

PostPosted: Sun Aug 08, 2010 8:16 pm    Post subject: Reply with quote

devsk wrote:
Continuing my ricer streak, I compiled p7zip with -O3 instead of -O2, and I gain 5% speed. I think that's it for the day!


What CFLAGS are you ussing?
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2860
Location: Bay Area, CA

PostPosted: Sun Aug 08, 2010 8:26 pm    Post subject: Reply with quote

cruzki123 wrote:
devsk wrote:
Continuing my ricer streak, I compiled p7zip with -O3 instead of -O2, and I gain 5% speed. I think that's it for the day!


What CFLAGS are you ussing?
For p7zip, I used:
Code:
"-O3 -march=native -fforce-addr -fomit-frame-pointer -pipe -ftracer -floop-interchange -floop-strip-mine -floop-block -fgraphite-identity"
But in make.conf, -O3 is replaced by -O2.
Back to top
View user's profile Send private message
xibo
Apprentice
Apprentice


Joined: 21 Aug 2007
Posts: 152
Location: moving between kubuntu and ubuntu kde edition

PostPosted: Sun Aug 08, 2010 9:05 pm    Post subject: Reply with quote

i guess -fforce-addr was re-added by the gentoo patches. according to gcc's mailing list it often produces worse code there's no situation where it produces better one ( and was removed from mainline gcc for being buggy )...

i wonder whether it really makes things faster?
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6108
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Sun Aug 08, 2010 9:30 pm    Post subject: Reply with quote

xibo wrote:
i guess -fforce-addr was re-added by the gentoo patches. according to gcc's mailing list it often produces worse code there's no situation where it produces better one ( and was removed from mainline gcc for being buggy )...

i wonder whether it really makes things faster?


there's no indication in the gentoo-patches that this functionality was added

seems like a placebo at best to me ;) (at worst it triggers some weird things resulting in nocebo effect *g*)
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
xibo
Apprentice
Apprentice


Joined: 21 Aug 2007
Posts: 152
Location: moving between kubuntu and ubuntu kde edition

PostPosted: Sun Aug 08, 2010 9:34 pm    Post subject: Reply with quote

<-- just tried using it

interresting. i have a vanilla build of gcc-4.5.1, and passing -fforce-addr does not cause an error or warning. It's not in the man page though, that's why i looked it up in the web and found the mailing list archive stating it was removed for 4.3...
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3231
Location: Gainesville, Florida

PostPosted: Sun Aug 08, 2010 10:59 pm    Post subject: Reply with quote

devsk,
On my main ~xf86 box I tried to enable USE=graphite and -floop-interchange -floop-strip-mine -floop-block in make.conf, but when I tried emerge gcc I couldn't get dev-libs/mpc to compile. It fails immediately with the "c compiler can't create executables" error. Same thing happeded on my backup ~x86 box, but NOT on my ~amd64 Gentoo installation. :?

When I disable graphite and removed the "graphite" cflags, everything compiles and installs fine. I now have rebuild my toolchain with gcc-4.5.1.

How are you enabling graphite successfully on ~x86 (if you are)?

Or, am I doing it wrong, and should have enabled graphite flags only AFTER I had already successfully installed and switched to gcc-4.5.1 with gcc-config?

Does all this look correct?
Code:
* Messages for package sys-devel/gcc-4.5.1:

 * Applying Gentoo patches ...
 *   00_all_gcc-4.1-alpha-mieee-default.patch ...
 *   01_all_gcc-4.1-alpha-asm-mcpu.patch ...
 *   03_all_gcc43-java-nomulti.patch ...
 *   08_all_gcc-4.1-cross-compile.patch ...
 *   09_all_gcc-4.5-Wtrampolines.patch ...
 *   10_all_gcc-default-format-security.patch ...
 *   10_all_gcc-default-fortify-source.patch ...
 *   11_all_gcc-netbsd-symbolic.patch ...
 *   14_all_gcc-sparc64-bsd.patch ...
 *   15_all_gcc-libgomp-no-werror.patch ...
 *   40_all_gcc-4.4-libiberty.h-asprintf.patch ...
 *   47_all_arm-unbreak-armv4t.patch ...
 *   51_all_gcc-3.4-libiberty-pic.patch ...
 *   53_all_gcc4-superh-default-multilib.patch ...
 *   61_all_gcc4-ia64-noteGNUstack.patch ...
 *   74_all_sh-pr24836.patch ...
 *   91_all_gcc-fbsdshared-spec.patch ...
 *   93_all_gcc-4.5-cloog-dl.patch ...
 *   94_all_gcc-4.5-pch-nostdinc.patch ...
 * Done with patching
 * Applying uClibc patches ...
 *   90_all_100-uclibc-conf.patch ...
 *   90_all_301-missing-execinfo_h.patch ...
 *   90_all_302-c99-snprintf.patch ...
 *   90_all_305-libmudflap-susv3-legacy.patch ...
 * Done with patching
 * Applying pie patches ...
 *   10_all_gcc45_configure.patch ...
 *   11_all_gcc44_config.in.patch ...
 *   12_all_gcc45_Makefile.in.patch ...
 *   20_all_gcc45_gcc.c.patch ...
 *   21_all_gcc44_decl-tls-model.patch ...
 *   30_all_gcc44_esp.h.patch ...
 *   33_all_gcc45_config_rs6000_linux64.h.patch ...
 *   35_all_gcc44_config_crtbegints.patch ...
 *   40_all_gcc44_cp_lang-specs.h.patch ...
 *   41_all_gcc44_objc_lang-specs.h.patch ...
 *   42_all_gcc44_objcp_lang-specs.h.patch ...
 *   60_all_gcc44_invoke.texi.patch ...
 * Done with patching
 * Replacing obsolete head/tail with POSIX compliant ones
 *  - fixed contrib/test_summary
 *  - fixed boehm-gc/configure
 *  - fixed fixincludes/configure
 *  - fixed gcc/configure
 *  - fixed gnattools/configure
 *  - fixed intl/configure
 *  - fixed libada/configure
 *  - fixed libcpp/configure
 *  - fixed libdecnumber/configure
 *  - fixed libffi/configure
 *  - fixed libgcc/configure
 *  - fixed libgfortran/configure
 *  - fixed libgomp/configure
 *  - fixed libiberty/configure
 *  - fixed libjava/configure
 *  - fixed libmudflap/configure
 *  - fixed libobjc/configure
 *  - fixed libssp/configure
 *  - fixed libstdc++-v3/configure
 *  - fixed lto-plugin/configure
 *  - fixed zlib/configure
 *  - fixed ltmain.sh
 *  - fixed boehm-gc/Makefile.in
 *  - fixed fixincludes/Makefile.in
 *  - fixed gcc/Makefile.in
 *  - fixed gnattools/Makefile.in
 *  - fixed intl/Makefile.in
 *  - fixed libada/Makefile.in
 *  - fixed libcpp/Makefile.in
 *  - fixed libdecnumber/Makefile.in
 *  - fixed libffi/Makefile.in
 *  - fixed libgcc/Makefile.in
 *  - fixed libgfortran/Makefile.in
 *  - fixed libgomp/Makefile.in
 *  - fixed libiberty/Makefile.in
 *  - fixed libjava/Makefile.in
 *  - fixed libmudflap/Makefile.in
 *  - fixed libobjc/Makefile.in
 *  - fixed libssp/Makefile.in
 *  - fixed libstdc++-v3/Makefile.in
 *  - fixed lto-plugin/Makefile.in
 *  - fixed zlib/Makefile.in
 * Running elibtoolize in: gcc-4.5.1
 *   Applying portage-2.2.patch ...
 *   Applying sed-1.5.6.patch ...
 *   Applying as-needed-2.2.6.patch ...
 * Using GNU config files from /usr/share/gnuconfig
 *   Updating config.sub
 *   Updating libjava/libltdl/config.sub
 *   Updating libjava/classpath/config.sub
 *   Updating config.guess
 *   Updating libjava/libltdl/config.guess
 *   Updating libjava/classpath/config.guess
 * Fixing misc issues in configure files
 * Applying gcc-configure-texinfo.patch ...
 * Touching generated files
 *   Touching gcc/cstamp-h.in
 *   Touching gcc/config.in
 *   Touching libjava/aclocal.m4
 *   Touching libjava/Makefile.in
 *   Touching libjava/configure
 * Applying gcc-spec-env.patch ...
 * CFLAGS="-O2 -march=athlon-xp -pipe -fno-ident"
 * CXXFLAGS="-O2 -march=athlon-xp -pipe -fno-ident"
 * Configuring gcc ...
 * running gcc-compiler-configure
 * configuring for GCC_LANG: c,c++,fortran
 * PREFIX:                      /usr
 * BINPATH:                     /usr/i686-pc-linux-gnu/gcc-bin/4.5.1
 * LIBPATH:                     /usr/lib/gcc/i686-pc-linux-gnu/4.5.1
 * DATAPATH:            /usr/share/gcc-data/i686-pc-linux-gnu/4.5.1
 * STDCXX_INCDIR:       /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/include/g++-v4
 * Configuring GCC with:
 *      --prefix=/usr
 *      --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.5.1
 *      --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/include
 *      --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.1
 *      --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.1/man
 *      --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.5.1/info
 *      --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/include/g++-v4
 *      --host=i686-pc-linux-gnu
 *      --build=i686-pc-linux-gnu
 *      --disable-altivec
 *      --disable-fixed-point
 *      --without-ppl
 *      --without-cloog
 *      --disable-lto
 *      --enable-nls
 *      --without-included-gettext
 *      --with-system-zlib
 *      --disable-werror
 *      --enable-secureplt
 *      --disable-multilib
 *      --enable-libmudflap
 *      --disable-libssp
 *      --enable-libgomp
 *      --enable-cld
 *      --with-python-dir=/share/gcc-data/i686-pc-linux-gnu/4.5.1/python
 *      --enable-checking=release
 *      --disable-libgcj
 *      --with-arch=i686
 *      --enable-languages=c,c++,fortran
 *      --enable-shared
 *      --enable-threads=posix
 *      --enable-__cxa_atexit
 *      --enable-clocale=gnu
 *      --with-bugurl=http://bugs.gentoo.org/
 *      --with-pkgversion=Gentoo 4.5.1 p1.0, pie-0.4.5
 * Compiling gcc ...
 * QA Notice: Expected SLOT='4.5', got 'i686-pc-linux-gnu-4.5.1'
 * If you have issues with packages unable to locate libstdc++.la,bs/mpc-
 * then try running 'fix_libtool_files.sh' on the old gcc versions.
 * QA Notice: Files built without respecting LDFLAGS have been detected
 *  Please include the following list of files in your report:
 * /usr/libexec/gcc/i686-pc-linux-gnu/4.5.1/collect2
 * /usr/libexec/gcc/i686-pc-linux-gnu/4.5.1/lto-wrapper
 * /usr/libexec/gcc/i686-pc-linux-gnu/4.5.1/cc1plus
 * /usr/libexec/gcc/i686-pc-linux-gnu/4.5.1/f951
 * /usr/libexec/gcc/i686-pc-linux-gnu/4.5.1/cc1
 * /usr/i686-pc-linux-gnu/gcc-bin/4.5.1/i686-pc-linux-gnu-c++
 * /usr/i686-pc-linux-gnu/gcc-bin/4.5.1/i686-pc-linux-gnu-g++
 * /usr/i686-pc-linux-gnu/gcc-bin/4.5.1/i686-pc-linux-gnu-gcc
 * /usr/i686-pc-linux-gnu/gcc-bin/4.5.1/i686-pc-linux-gnu-gfortran
 * /usr/i686-pc-linux-gnu/gcc-bin/4.5.1/gcov
 * /usr/i686-pc-linux-gnu/gcc-bin/4.5.1/i686-pc-linux-gnu-cpp
 * /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/libstdc++.so.6.0.14
 * /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/libgcc_s.so.1
 * /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/libmudflapth.so.0.0.0
 * /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/libmudflap.so.0.0.0
 * /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/libgomp.so.1.0.0
 * /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/libgfortran.so.3.0.0
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * Regenerating GNU info directory index...
 * Processed 159 info files.

_________________
Main box- AsRock x370 Gaming K4
Ryzen 1700, 3.0GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
Gentoo ~amd64 plasma, glibc-2.29-r2, gcc-9.1.0 kernel-5.0.14-gentoo USE=experimental
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2860
Location: Bay Area, CA

PostPosted: Mon Aug 09, 2010 12:47 am    Post subject: Reply with quote

USE=graphite can be enabled anytime. -floop* CFLAGS can be used only when you are using the GCC which was emerged with USE=graphite. So,

1. Make sure CFLAGS don't have -floop*.
2. Enable graphite.
3. Emerge GCC (4.4 or 4.5)
4. Switch gcc to 4.5 if you are now moving to 4.5
5. Log out and login.
6. Add -floop* CFLAGS in make.conf.
7. Compile away!
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3231
Location: Gainesville, Florida

PostPosted: Mon Aug 09, 2010 12:57 am    Post subject: Reply with quote

Thanks much, devsk! 8)
That was my mistake- I was trying to emerge 4.5.1 with graphite and -floop* flags, but with my gcc-4.4 which had been compiled without them.

I'll do as per your procedure. I was really hoping to get this done before the big kde-4.5 updates coming up.

Again, many thanks for the details about graphite- I really appreciate it! :D

EDIT: AHA! This time, the output says gcc is being configured with:
Code:
*      --with-ppl
 *      --with-cloog
instead of --without-ppl --without-cloog.
_________________
Main box- AsRock x370 Gaming K4
Ryzen 1700, 3.0GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
Gentoo ~amd64 plasma, glibc-2.29-r2, gcc-9.1.0 kernel-5.0.14-gentoo USE=experimental


Last edited by wrc1944 on Mon Aug 09, 2010 4:47 pm; edited 2 times in total
Back to top
View user's profile Send private message
cruzki123
Apprentice
Apprentice


Joined: 16 May 2008
Posts: 248

PostPosted: Mon Aug 09, 2010 1:57 pm    Post subject: Reply with quote

devsk wrote:
cruzki123 wrote:
devsk wrote:
Continuing my ricer streak, I compiled p7zip with -O3 instead of -O2, and I gain 5% speed. I think that's it for the day!


What CFLAGS are you ussing?
For p7zip, I used:
Code:
"-O3 -march=native -fforce-addr -fomit-frame-pointer -pipe -ftracer -floop-interchange -floop-strip-mine -floop-block -fgraphite-identity"
But in make.conf, -O3 is replaced by -O2.


Thankyou but, didn't you ussing lto?
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3231
Location: Gainesville, Florida

PostPosted: Mon Aug 09, 2010 4:45 pm    Post subject: Reply with quote

OK :D Just finished up an emerge -e @system (282 packages) with graphite enabled on my ~x86 main box (mentioned above), with only one minor known and problem- the mysql-5.1.46 failure on rebuild. Guess we're still waiting for the 5.1.49 fixes as mentioned in this thread recently, so no big deal. I'm assuming the old version is still in place and working.

All set for the big kde 4.5 updates being compiled with gcc-4.5.1. 8)

BTW, my current cflags on this box:
Code:
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer -ftracer -fno-ident -ftree-vectorize -frename-registers -floop-interchange -floop-strip-mine -floop-block"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"

I noticed devsk is using -fgraphite-identity, at least on p7zip. I looked it up in man gcc, and seems like it might be worthwhile. Any thoughts or recommendations on this one? Any problems enabling it globally?
_________________
Main box- AsRock x370 Gaming K4
Ryzen 1700, 3.0GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
Gentoo ~amd64 plasma, glibc-2.29-r2, gcc-9.1.0 kernel-5.0.14-gentoo USE=experimental
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 6108
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Mon Aug 09, 2010 5:51 pm    Post subject: Reply with quote

wrc1944 wrote:
OK :D Just finished up an emerge -e @system (282 packages) with graphite enabled on my ~x86 main box (mentioned above), with only one minor known and problem- the mysql-5.1.46 failure on rebuild. Guess we're still waiting for the 5.1.49 fixes as mentioned in this thread recently, so no big deal. I'm assuming the old version is still in place and working.

All set for the big kde 4.5 updates being compiled with gcc-4.5.1. 8)

BTW, my current cflags on this box:
Code:
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer -ftracer -fno-ident -ftree-vectorize -frename-registers -floop-interchange -floop-strip-mine -floop-block"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"

I noticed devsk is using -fgraphite-identity, at least on p7zip. I looked it up in man gcc, and seems like it might be worthwhile. Any thoughts or recommendations on this one? Any problems enabling it globally?


nope, for me it's an global flag,

no problems noticed with it so far ;) (since 4.5.0 days)
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.9.0
https://github.com/kernelOfTruth/pulseaudio-equalizer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3231
Location: Gainesville, Florida

PostPosted: Mon Aug 09, 2010 8:01 pm    Post subject: Reply with quote

Added -fgraphite-identity globally, and did an emerge --sync. The Mysql problem is now fixed in 5.1.49-r1:
Code:
>> Unpacking mysql-5.1.49.tar.gz to /var/tmp/portage/dev-db/mysql-5.1.49-r1/work
>>> Unpacking mysql-extras-20100809-0452Z.tar.bz2 to /var/tmp/portage/dev-db/mysql-5.1.49-r1/work
>>> Source unpacked in /var/tmp/portage/dev-db/mysql-5.1.49-r1/work
>>> Preparing source in /var/tmp/portage/dev-db/mysql-5.1.49-r1/work/mysql ...
 * using '00350_x86_asm-pic-fixes-5.1.41.patch'
 * >    remove page relocations
 * >    Most of the original patch has already been accepted by MysQL,
 * >    here is the remaining.
 * >    _many_ thanks to pageexec@freemail.hu
 * using '01050_all_mysql_config_cleanup-5.1.41.patch'
 * >    fix bug #156301 mysql_config wrongly retains too much info from CFLAGS
 * using '02040_all_embedded-library-shared-5.1.43.patch'
 * >    Take libmysqld to be a proper shared library.
 * using '07040_all_disable_mybug_9735_test-5.1.41.patch'
 * >    disable a test that fail on longtext field length, the expected value is
 * >    three times the returned one, look like a multibyte character related
 * >    failure.
 * using '07110_all_mysql_gcc-4.2_5.1.49.patch'
 * >    Replace max() and min() macro with MYSQL_MIN() and MYSQL_MAX()
 * >    FIXME: Testing patch - applies cleanly
 * using '07250_all_testcase_latin1_fix-5.1.42.patch'
 * >    Latin1 is assumed by the testsuite even with --with-charset=utf8
 * >    is passed to configure. Fix mysql_comments test.
 * using '07260_all_testsuite_mtr_latin1_fix-5.1.42.patch'
 * >    Latin1 is assumed by the testsuite even with --with-charset=utf8
 * >    is passed to configure. Fix information_schema test.
 * using '07280_all_stdbool-5.1.44.patch'
 * >    Fix GCC4.4 stdbool requirement.
 * using '07310_all_mysql_gcc45-diable-abicheck.patch'
 * >    GCC4.5 fails on the ABI-check block
 * Applying various patches (bugfixes/updates) ...
 *   00350_x86_asm-pic-fixes-5.1.41.patch ...                                                                                          [ ok ]
 *   01050_all_mysql_config_cleanup-5.1.41.patch ...                                                                                   [ ok ]
 *   07040_all_disable_mybug_9735_test-5.1.41.patch ...                                                                                [ ok ]
 *   07110_all_mysql_gcc-4.2_5.1.49.patch ...                                                                                          [ ok ]
 *   07250_all_testcase_latin1_fix-5.1.42.patch ...                                                                                    [ ok ]
 *   07260_all_testsuite_mtr_latin1_fix-5.1.42.patch ...                                                                               [ ok ]
 *   07280_all_stdbool-5.1.44.patch ...                                                                                                [ ok ]
 *   07310_all_mysql_gcc45-diable-abicheck.patch ...                                                                                   [ ok ]
 * Done with patching
 * Cleaning up old buildscript files
 * Reconfiguring dir '.'
 * Running eautoreconf in '/var/tmp/portage/dev-db/mysql-5.1.49-r1/work/mysql' ...
 * Running aclocal ...                                                                                                                 [ ok ]
 * Running libtoolize --copy --force --install --automake ...                                                                          [ ok ]
 * Running aclocal ...                                                                                                                 [ ok ]
 * Running autoconf ...                                                                                                                [ ok ]
 * Running autoheader ...                                                                                                              [ ok ]
 * Running automake --add-missing --copy --foreign ...                                                                                 [ ok ]
 * Running elibtoolize in: mysql
 *   Applying portage-2.2.patch ...
 *   Applying sed-1.5.6.patch ...
 *   Applying as-needed-2.2.6.patch ...
>>> Source prepared.
It compiled/installed fine, using all cflags.
_________________
Main box- AsRock x370 Gaming K4
Ryzen 1700, 3.0GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
Gentoo ~amd64 plasma, glibc-2.29-r2, gcc-9.1.0 kernel-5.0.14-gentoo USE=experimental
Back to top
View user's profile Send private message
Etal
Veteran
Veteran


Joined: 15 Jul 2005
Posts: 1682

PostPosted: Tue Aug 10, 2010 1:15 am    Post subject: Reply with quote

What does -fgraphite-identity actually do?

From my understanding, it converts gimple to graphite and then back again with the intention of debugging graphite. If the -floop* flags are enabled, wouldn't they do that anyway?
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2860
Location: Bay Area, CA

PostPosted: Tue Aug 10, 2010 1:21 am    Post subject: Reply with quote

AM088 wrote:
What does -fgraphite-identity actually do?

From my understanding, it converts gimple to graphite and then back again with the intention of debugging graphite. If the -floop* flags are enabled, wouldn't they do that anyway?
Code:
-fgraphite-identity
    Enable the identity transformation for graphite. For every SCoP we generate the polyhedral representation and transform it back to gimple. Using -fgraphite-identity we can check the costs or benefits of the GIMPLE -> GRAPHITE -> GIMPLE transformation. Some minimal optimizations are also performed by the code generator CLooG, like index splitting and dead code elimination in loops.
Looks like this is needed for graphite to function optimally.
Back to top
View user's profile Send private message
Etal
Veteran
Veteran


Joined: 15 Jul 2005
Posts: 1682

PostPosted: Tue Aug 10, 2010 2:51 am    Post subject: Reply with quote

Well, if you search for "fgraphite-identity," you get this:

Code:
Subject: [graphite] Add -fgraphite-identity / Solution two

I would like to add a new command line parameter for graphite. It will
allow us to test graphite without any transformation like loop blocking,
but only using a simple GIMPLE->GRAPHITE->GIMPLE identity
transformation.

Buy adding this command line option, we do not change the behavior of
any other part of graphite or gcc, but gain the possibility to debug,
test and check the performance of the graphite front/backend without the
noise of additional transformations.
Also we can check the backend for every possible SCoP and not only for
SCoPs, that we can transform using loop blocking.
This should make debugging of the current bug reports easier and allows
us to set up nightly tests testing the complete front and backend.


Maybe it is a bit dated, but considering it was primarily intended for testing, it would be odd if now it suddenly did something that the other transformations did not.
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3231
Location: Gainesville, Florida

PostPosted: Tue Aug 10, 2010 4:13 am    Post subject: Reply with quote

Maybe I'm misunderstanding, but this graphite-identity info now seems confusing, and even a bit contradictory. I'm not sure if it adds any performance improvement, or is mainly just useful for debugging. I'm not sure I understand the benefit (if any) in having it enabled, if my main objective is simply performance and not debugging.
_________________
Main box- AsRock x370 Gaming K4
Ryzen 1700, 3.0GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
Gentoo ~amd64 plasma, glibc-2.29-r2, gcc-9.1.0 kernel-5.0.14-gentoo USE=experimental
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6279

PostPosted: Tue Aug 10, 2010 7:48 am    Post subject: Reply with quote

wrc1944 wrote:
Maybe I'm misunderstanding, but this graphite-identity info now seems confusing, and even a bit contradictory.

When I look at the (old) patch, it does not seem to do much if used with -floop-*, except that then also in some cases transformed code is emitted when -floop-* does not transform it. Since in the manpage it is written that this translation can cause primitive things like dead code elimination, I think it will not hurt (and do in some cases some slight optimization) if you switch it on. Whether this is worth the extra time compilation takes, I cannot tell you.
Back to top
View user's profile Send private message
ssteinberg
Apprentice
Apprentice


Joined: 09 Jul 2010
Posts: 206
Location: Israel

PostPosted: Tue Aug 10, 2010 12:00 pm    Post subject: Reply with quote

Multiple packages give:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/sys-libs/zlib-1.2.3-r1/temp/ccEKdzkK.lto.o: relocation R_X86_64_PC32 against symbol `deflateInit_' can not be used when making a shared object; recompile with -fPIC
when compiling and linking with lto.
At the moment I have more packages blacklisting lto in /etc/portage/env then packages that compile fine.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6279

PostPosted: Tue Aug 10, 2010 8:31 pm    Post subject: Reply with quote

ssteinberg wrote:
Multiple packages give:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.1/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/sys-libs/zlib-1.2.3-r1/temp/ccEKdzkK.lto.o: relocation R_X86_64_PC32 against symbol `deflateInit_' can not be used when making a shared object; recompile with -fPIC
when compiling and linking with lto.

These errors occur only on amd64 and not on x86. I conjecture that -fPIC is for some reason not stored in the lto data.
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2860
Location: Bay Area, CA

PostPosted: Thu Aug 12, 2010 5:33 am    Post subject: Reply with quote

PyQT4 ICEd in my setup.
Code:
x86_64-pc-linux-gnu-g++ -c -O2 -march=native -fforce-addr -fomit-frame-pointer -pipe -ftracer -floop-interchange -floop-strip-mine -floop-block -fgraphite-identity -floop-parallelize-all -fPIC -O2 -Wall -W -D_REENTRANT -DNDEBUG -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I. -I/var/tmp/portage/dev-python/PyQt4-4.7.4/work/PyQt-x11-gpl-4.7.4-2.6/qpy/QtGui -I/usr/include/python2.6 -I/usr/mkspecs/linux-g++ -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4 -I/usr/include -o sipQtGuiQFontMetricsF.o sipQtGuiQFontMetricsF.cpp
sipQtGuiQMatrix2x4.cpp: In function 'PyObject* meth_QMatrix2x4_setToIdentity(PyObject*, PyObject*)':
sipQtGuiQMatrix2x4.cpp:158:18: internal compiler error: Segmentation fault


Safe way to get it to compile was to pass CFLAGS= CXXFLAGS= but I just went in and tested which flag was the issue. Its the combination of
Code:
-fgraphite-identity -floop-parallelize-all
that PyQt4 doesn't like. Note that its the combo of these that it doesn't like. Removing either one of them leads to ICE.
Back to top
View user's profile Send private message
xibo
Apprentice
Apprentice


Joined: 21 Aug 2007
Posts: 152
Location: moving between kubuntu and ubuntu kde edition

PostPosted: Thu Aug 12, 2010 8:25 am    Post subject: Reply with quote

devsk wrote:
Safe way to get it to compile was to pass CFLAGS= CXXFLAGS= but I just went in and tested which flag was the issue. Its the combination of
Code:
-fgraphite-identity -floop-parallelize-all
that PyQt4 doesn't like. Note that its the combo of these that it doesn't like. Removing either one of them leads to ICE.


ICEing here too, with -fgraphite-identity -floop-block -ftree-loop-linear

BTW, the newer version of PyQt, which was unmasked by default until the day before yesterday will compile propperly with those flags
Back to top
View user's profile Send private message
Shining Arcanine
Veteran
Veteran


Joined: 24 Sep 2009
Posts: 1110

PostPosted: Thu Aug 12, 2010 7:01 pm    Post subject: Reply with quote

devsk wrote:
cruzki123 wrote:
devsk wrote:
Continuing my ricer streak, I compiled p7zip with -O3 instead of -O2, and I gain 5% speed. I think that's it for the day!


What CFLAGS are you ussing?
For p7zip, I used:
Code:
"-O3 -march=native -fforce-addr -fomit-frame-pointer -pipe -ftracer -floop-interchange -floop-strip-mine -floop-block -fgraphite-identity"
But in make.conf, -O3 is replaced by -O2.


I was under the impression that "-floop-interchange -floop-strip-mine -floop-block" only have an effect if you also specify "-ftree-parallelize-loops=n":

http://gcc.gnu.org/wiki/Graphite/Parallelization

Am I wrong to think that?
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2860
Location: Bay Area, CA

PostPosted: Thu Aug 12, 2010 7:24 pm    Post subject: Reply with quote

Shining Arcanine wrote:
devsk wrote:
cruzki123 wrote:
devsk wrote:
Continuing my ricer streak, I compiled p7zip with -O3 instead of -O2, and I gain 5% speed. I think that's it for the day!


What CFLAGS are you ussing?
For p7zip, I used:
Code:
"-O3 -march=native -fforce-addr -fomit-frame-pointer -pipe -ftracer -floop-interchange -floop-strip-mine -floop-block -fgraphite-identity"
But in make.conf, -O3 is replaced by -O2.


I was under the impression that "-floop-interchange -floop-strip-mine -floop-block" only have an effect if you also specify "-ftree-parallelize-loops=n":

http://gcc.gnu.org/wiki/Graphite/Parallelization

Am I wrong to think that?
I think so. -floop* are about reducing CPU cache misses. -ftree-parallelize-loops is about using multiple CPUs to speed up the loop execution, requiring linking with pthread. Not sure when the multi-thread parallelism speed up trades off with costs incurred for thread creation and sync on such a small scale. May be for very large loopy computations, it does!
Back to top
View user's profile Send private message
ComaWhite
Tux's lil' helper
Tux's lil' helper


Joined: 07 Oct 2008
Posts: 125

PostPosted: Mon Aug 16, 2010 6:42 am    Post subject: Reply with quote

So far using -march=native -O2 -pipe on ~amd64 with GCC-4.5.1 everything works perfectly so far. except the latest version pf lvm2 refuses to compile just dropped back 1 version and it compiles. No issues from Mysql yet though I'm using 5.0.49 (i think).
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Goto page Previous  1, 2, 3 ... 10, 11, 12, 13, 14, 15  Next
Page 11 of 15

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum