View previous topic :: View next topic |
Author |
Message |
dE_logics Advocate


Joined: 02 Jan 2009 Posts: 2348 Location: $TERM
|
Posted: Wed Jan 06, 2016 6:14 am Post subject: "Graphite loop optimizations cannot be" |
|
|
I'm trying to enable graphite, but since some updates, even my old (GCC 4.9.3) compiler apart from the new one started complaining --
"sorry, unimplemented: Graphite loop optimizations cannot be used"
On most packages.
As suggested in a no. of discussions, I've dev-libs/cloog-0.18.4 and ppl-1.1 installed. They're built without graphite enabled (they fail to compile with graphite giving the same problem as above). gcc was built with graphite. I recompiled GCC after upgrading cloog and ppl.
I'm trying to get gcc-5.3.0 to work.
CFLAGS:
-march=native -floop-interchange -floop-strip-mine -floop-block -fgraphite-identity -ftree-loop-distribution -O2
Code: | gcc-5.3.0 -v
Using built-in specs.
COLLECT_GCC=gcc-5.3.0
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/5.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /tmp/portage/sys-devel/gcc-5.3.0/work/gcc-5.3.0/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/5.3.0 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.3.0 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.3.0/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.3.0/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/include/g++-v5 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/5.3.0/python --enable-languages=c,c++ --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --disable-nls --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 5.3.0 p1.0, pie-0.6.5' --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-altivec --disable-fixed-point --enable-targets=all --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts --disable-libquadmath --enable-lto --with-isl --disable-isl-version-check --disable-libsanitizer --with-cloog --with-ppl |
All this using gold linker. _________________ My blog |
|
Back to top |
|
 |
Anon-E-moose Watchman


Joined: 23 May 2008 Posts: 6379 Location: Dallas area
|
Posted: Wed Jan 06, 2016 10:33 am Post subject: |
|
|
On 4.9.3 the rebuild of gcc is needed when cloog/isl gets upgraded. I don't have ppl installed.
This are the ones that I have installed: dev-libs/cloog-0.18.4, dev-libs/isl-0.15
For me, it wasn't until after I emerged both that I started getting the "sorry..." message
and a simple re-emerge of gcc fixed it.
You might kick it up from -O2 to -O3 (vague reference from some dev that it might be needed)
but that's just a recollection from when I was searching for the fix to the "sorry" message.
I would recompile gcc without graphite, do a depclean (remove cloog, isl) and make sure that things compile with the new version.
Then recompile gcc with graphite enabled, let it compile isl, cloog and anything else it requires.
It sounds like graphite has gotten out of whack with one or more components needed to compile properly.
Edit to add: from toolchain.eclass
Code: | if in_iuse graphite ; then
if tc_version_is_at_least 5.0 ; then
RDEPEND+=" graphite? ( >=dev-libs/isl-0.14 )"
elif tc_version_is_at_least 4.8 ; then
RDEPEND+="
graphite? (
>=dev-libs/cloog-0.18.0
>=dev-libs/isl-0.11.1
)"
fi
fi |
It appears that 5.* doesn't need cloog.
Anyway, build gcc with graphite turned off, do an edepclean to see what gets removed, then rebuild gcc with graphite enabled and let it pull in what is needed.
Note: if you are running an old version of the compiler (pre-5.*) along with trying to compile 5.3
I don't know if there will be a conflict with cloog/ppl/isl or whatever. _________________ UM780 xtx, 6.14 zen kernel, gcc 15, openrc, wayland
Got to love snowflakes, how does the world survive without them. |
|
Back to top |
|
 |
dE_logics Advocate


Joined: 02 Jan 2009 Posts: 2348 Location: $TERM
|
Posted: Sat Jan 09, 2016 4:39 pm Post subject: |
|
|
Anon-E-moose wrote: | On 4.9.3 the rebuild of gcc is needed when cloog/isl gets upgraded. I don't have ppl installed.
This are the ones that I have installed: dev-libs/cloog-0.18.4, dev-libs/isl-0.15
For me, it wasn't until after I emerged both that I started getting the "sorry..." message
and a simple re-emerge of gcc fixed it.
You might kick it up from -O2 to -O3 (vague reference from some dev that it might be needed)
but that's just a recollection from when I was searching for the fix to the "sorry" message.
I would recompile gcc without graphite, do a depclean (remove cloog, isl) and make sure that things compile with the new version.
Then recompile gcc with graphite enabled, let it compile isl, cloog and anything else it requires.
It sounds like graphite has gotten out of whack with one or more components needed to compile properly.
Edit to add: from toolchain.eclass
Code: | if in_iuse graphite ; then
if tc_version_is_at_least 5.0 ; then
RDEPEND+=" graphite? ( >=dev-libs/isl-0.14 )"
elif tc_version_is_at_least 4.8 ; then
RDEPEND+="
graphite? (
>=dev-libs/cloog-0.18.0
>=dev-libs/isl-0.11.1
)"
fi
fi |
It appears that 5.* doesn't need cloog.
Anyway, build gcc with graphite turned off, do an edepclean to see what gets removed, then rebuild gcc with graphite enabled and let it pull in what is needed.
Note: if you are running an old version of the compiler (pre-5.*) along with trying to compile 5.3
I don't know if there will be a conflict with cloog/ppl/isl or whatever. |
No, it didn't work out. I tried -O3 too.
I recompiled GCC without graphite, removed cloog, isl
Then I compiled GCC with graphite and before that merged cloog and isl.
The compiler used was gcc-5.3 for everything. _________________ My blog |
|
Back to top |
|
 |
dE_logics Advocate


Joined: 02 Jan 2009 Posts: 2348 Location: $TERM
|
Posted: Fri Apr 15, 2016 9:02 am Post subject: |
|
|
Now the issue is solved, and I think recompiling GCC 4.9.3 solved it. _________________ My blog |
|
Back to top |
|
 |
kernelOfTruth Watchman


Joined: 20 Dec 2005 Posts: 6111 Location: Vienna, Austria; Germany; hello world :)
|
|
Back to top |
|
 |
dE_logics Advocate


Joined: 02 Jan 2009 Posts: 2348 Location: $TERM
|
Posted: Sun May 01, 2016 2:00 pm Post subject: |
|
|
Previously I was compiling GCC 5.3. Now I recompiled 4.9. _________________ My blog |
|
Back to top |
|
 |
Naib Watchman


Joined: 21 May 2004 Posts: 6091 Location: Removed by Neddy
|
Posted: Mon May 02, 2016 5:33 pm Post subject: |
|
|
on an aside...
I am thinking of enabling graphite. I have been attempting to use the gold linker for the past 6months and on the whole it is working, a few packages failing (libreoffice, libopenshot, gparts... collect2: error: ld returned 1 exit status ...) so I was wondering... is there anyway to have per-package choice for the linker? _________________ #define HelloWorld int
#define Int main()
#define Return printf
#define Print return
#include <stdio>
HelloWorld Int {
Return("Hello, world!\n");
Print 0; |
|
Back to top |
|
 |
steveL Watchman

Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Mon May 02, 2016 8:51 pm Post subject: |
|
|
Naib wrote: | is there anyway to have per-package choice for the linker? |
Quickest way I can think of is to add the gold bindir to PATH in package.env; though I guess you can just export LD too, though you might have fun with toolchain-funcs.eclass. |
|
Back to top |
|
 |
|