Re: [PATCH] Move Graphite from using PPL over to ISL
On Thu, 5 Jul 2012, Magnus Fromreide wrote: On Thu, Jul 05, 2012 at 11:51:19AM +0200, Richard Guenther wrote: On Thu, 5 Jul 2012, Richard Guenther wrote: On Thu, 5 Jul 2012, Richard Guenther wrote: On Thu, 5 Jul 2012, Tristan Gingold wrote: On Jul 4, 2012, at 8:31 PM, Magnus Fromreide wrote: Hello. Ever since the ISL patch went in my builds have failed. Which ISL patch ? I am building with local copies of all the libraries, so I have added gmp, mpfr, mpc, isl and cloog from ftp://gcc.gnu.org/pub/gcc/infrastructure to my source directory. I am not familiar with this build (I usually build gmp/mpfr/... once and install them). But it looks like isl doesn't see the gmp includes. But according to $(srcdir)/Makefile.in, gmp is configured with --with-gmp-include. Was isl correctly configured in your case ? I have not tested builds with gmp/mpfr in the source tree but have copied the logic from the old ppl/cloog configury. Can you try to replace $$r/$(HOST_SUBDIR)/gmp with $$s/gmp in Makefile.def? The issue is we can't specify both source and build dirs here (so the underlying issue is packages expect installed gmp but we don't actually install it - they are not expecting to be used as-is in their build directory). Looking at isl/cloog configure in detail it seems that the following might work (tested with all reqs in tree only yet). Hopefully it autodetects the case where the build dir does not exist and uses the system library instead then (of course alternate gmp install dirs are still not properly passed down I guess). Does not work with out-of-tree gmp. Any suggestion on how to conditionalize Makefile.def extra_configure_flags on the presence of a host_module? First, sorry for not having been able to get back to you earlier. I agree. That AX_SUBMODULE macro is somewhat annoying, it seems the main use of it is so that ISL can get hold of the srcdir for an uninstalled build when it is used in the context of gmp. Now, if I build with --with-gmp-builddir=$$r/$(HOST_SUBDIR)/gmp then it works in my setup. If we suppose that gmp is installed with headers under /some/place/include and libs under /another/place/lib then one could use --with-gmp-prefix=/some/place --with-gmp-exec-prefix=/another/place except that there is a bug in the ISL configure script so it uses gmp-prefix for both include and lib, and this also requires that the include and lib parts of the paths are there. Would it be possible to actually install the libraries somewhere under build and then link against them? Yes, I think that would be the most clean solution - unfortunately the current setup of the toplevel hierarchy does not support this (easily, at least). A way out would be to always claim stuff is installed - thus, use the =system variants and add more flags to pass through, similar to the cloog variant. There we can easily add both source and build dir includes - but it gets very messy easily. Richard.
Re: [PATCH] Move Graphite from using PPL over to ISL
On Fri, 6 Jul 2012, Richard Guenther wrote: Yes, I think that would be the most clean solution - unfortunately the current setup of the toplevel hierarchy does not support this (easily, at least). A way out would be to always claim stuff is installed - thus, use the =system variants and add more flags to pass through, similar to the cloog variant. There we can easily add both source and build dir includes - but it gets very messy easily. Ok, the following fixes ISL but keeps cloog broken (a similar approach for cloog does not work because its gmp builddir handling seems broken). Tested with and without gmp in-tree, applied. Richard. 2012-07-06 Richard Guenther rguent...@suse.de * configure.ac (extra_isl_gmp_configure_flags): Initialize and subst. * Makefile.def (isl): Use extra_isl_gmp_configure_flags and supply V=1 as extra_make_flags. * configure: Regenerated. * Makefile.in: Likewise. Index: configure.ac === --- configure.ac(revision 189311) +++ configure.ac(working copy) @@ -1341,6 +1341,7 @@ if test x$with_gmp$with_gmp_include$wit gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '$gmpinc extra_mpfr_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'$lt_cv_objdir extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'$lt_cv_objdir + extra_isl_gmp_configure_flags='--with-gmp-builddir=$$r/$(HOST_SUBDIR)/gmp' # Do not test the gmp version. Assume that it is sufficient, since # it is in the source tree, and the library has not been built yet # but it would be included on the link line in the version check below @@ -1453,6 +1454,7 @@ AC_SUBST(gmpinc) AC_SUBST(extra_mpfr_configure_flags) AC_SUBST(extra_mpc_gmp_configure_flags) AC_SUBST(extra_mpc_mpfr_configure_flags) +AC_SUBST(extra_isl_gmp_configure_flags) # Allow host libstdc++ to be specified for static linking with PPL. AC_ARG_WITH(host-libstdcxx, Index: Makefile.def === --- Makefile.def(revision 189311) +++ Makefile.def(working copy) @@ -62,7 +62,8 @@ host_modules= { module= mpc; lib_path=.l extra_configure_flags='--disable-shared @extra_mpc_gmp_configure_flags@ @extra_mpc_mpfr_configure_flags@'; no_install= true; }; host_modules= { module= isl; lib_path=.libs; bootstrap=true; - extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp'; + extra_configure_flags='--disable-shared @extra_isl_gmp_configure_flags@'; + extra_make_flags='V=1'; no_install= true; }; host_modules= { module= cloog; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp --with-isl=system';
Re: [PATCH] Move Graphite from using PPL over to ISL
On Fri, 6 Jul 2012, Richard Guenther wrote: On Fri, 6 Jul 2012, Richard Guenther wrote: Yes, I think that would be the most clean solution - unfortunately the current setup of the toplevel hierarchy does not support this (easily, at least). A way out would be to always claim stuff is installed - thus, use the =system variants and add more flags to pass through, similar to the cloog variant. There we can easily add both source and build dir includes - but it gets very messy easily. Ok, the following fixes ISL but keeps cloog broken (a similar approach for cloog does not work because its gmp builddir handling seems broken). And this is a patch to workaround the cloog parts. We cannot use $(HOST_GMPLIBS) because it includes -lmpc and -lmpfr (which we do not depend on), and $(HOST_ISLLIBS) does not exist. Those are cleanup opportunities. Tested with in-tree gmp and out-of-tree gmp and committed. Richard. 2012-07-06 Richard Guenther rguent...@suse.de * Makefile.def (cloog): Pass $(HOST_GMPINC) and $(HOST_ISLINC) as CPPFLAGS, pass path to built gmp as LDFLAGS, always use --with-gmp=system. * Makefile.in: Regenerated. * configure: Likewise. Index: Makefile.def === --- Makefile.def(revision 189327) +++ Makefile.def(working copy) @@ -66,8 +66,8 @@ host_modules= { module= isl; lib_path=.l extra_make_flags='V=1'; no_install= true; }; host_modules= { module= cloog; lib_path=.libs; bootstrap=true; - extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp --with-isl=system'; - extra_exports='CPPFLAGS=-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include $$CPPFLAGS; export CPPFLAGS; LDFLAGS=-L$$r/$(HOST_SUBDIR)/isl/.libs $$LDFLAGS; export LDFLAGS; '; + extra_configure_flags='--disable-shared --with-gmp=system --with-bits=gmp --with-isl=system'; + extra_exports='CPPFLAGS=$(HOST_GMPINC) $(HOST_ISLINC) $$CPPFLAGS; export CPPFLAGS; LDFLAGS=-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/isl/.libs $$LDFLAGS; export LDFLAGS; '; extra_make_flags='CPPFLAGS=$$CPPFLAGS LDFLAGS=$$LDFLAGS V=1'; no_install= true; }; host_modules= { module= libelf; lib_path=.libs; bootstrap=true;
Re: [PATCH] Move Graphite from using PPL over to ISL
On Jul 4, 2012, at 8:31 PM, Magnus Fromreide wrote: Hello. Ever since the ISL patch went in my builds have failed. Which ISL patch ? I am building with local copies of all the libraries, so I have added gmp, mpfr, mpc, isl and cloog from ftp://gcc.gnu.org/pub/gcc/infrastructure to my source directory. I am not familiar with this build (I usually build gmp/mpfr/... once and install them). But it looks like isl doesn't see the gmp includes. But according to $(srcdir)/Makefile.in, gmp is configured with --with-gmp-include. Was isl correctly configured in your case ? Tristan. The command sequence I use is svn co svn://gcc.gnu.org/svn/gcc/trunk cd trunk ./contrib/download_prerequisites wget ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-0.17.0.tar.gz ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.10.tar.bz2 tar xjf isl-0.10.tar.bz2 tar xzf cloog-0.17.0.tar.gz ln -s cloog-0.17.0 cloog ln -s isl-0.10 isl cd .. mkdir build cd build ../trunk/configure make V=1 and the error message I get is make[5]: Entering directory `/home/maf/src/gcc/build/isl' /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../trunk/isl -I../../trunk/isl/include -Iinclude/ -I. -I../../trunk/isl -I../../trunk/isl/include -Iinclude/ -g -fkeep-inline-functions -MT libisl_la-isl_lp_no_piplib.lo -MD -MP -MF .deps/libisl_la-isl_lp_no_piplib.Tpo -c -o libisl_la-isl_lp_no_piplib.lo `test -f 'isl_lp_no_piplib.c' || echo '../../trunk/isl/'`isl_lp_no_piplib.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../trunk/isl -I../../trunk/isl/include -Iinclude/ -I. -I../../trunk/isl -I../../trunk/isl/include -Iinclude/ -g -fkeep-inline-functions -MT libisl_la-isl_lp_no_piplib.lo -MD -MP -MF .deps/libisl_la-isl_lp_no_piplib.Tpo -c ../../trunk/isl/isl_lp_no_piplib.c -o libisl_la-isl_lp_no_piplib.o In file included from ../../trunk/isl/include/isl/lp.h:13:0, from ../../trunk/isl/isl_lp_piplib.h:13, from ../../trunk/isl/isl_lp_no_piplib.c:10: ../../trunk/isl/include/isl/int.h:15:17: fatal error: gmp.h: No such file or directory compilation terminated. make[5]: *** [libisl_la-isl_lp_no_piplib.lo] Error 1 make[5]: Leaving directory `/home/maf/src/gcc/build/isl' Making all in doc make[5]: Entering directory `/home/maf/src/gcc/build/isl/doc' make[5]: Nothing to be done for `all'. make[5]: Leaving directory `/home/maf/src/gcc/build/isl/doc' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/maf/src/gcc/build/isl' make[3]: *** [all] Error 2 make[3]: Leaving directory `/home/maf/src/gcc/build/isl' make[2]: *** [all-stage1-isl] Error 2 make[2]: Leaving directory `/home/maf/src/gcc/build' make[1]: *** [stage1-bubble] Error 2 make[1]: Leaving directory `/home/maf/src/gcc/build' make: *** [all] Error 2 but 'ls gmp/gmp.h' shows that the file is there. Please note that my machine lack the gmp-devel package, so there is no /usr/include/gmp.h. Adding that package makes the build succeed, but that sounds ridiculous as there is a local copy. /MF
Re: [PATCH] Move Graphite from using PPL over to ISL
On Thu, 5 Jul 2012, Tristan Gingold wrote: On Jul 4, 2012, at 8:31 PM, Magnus Fromreide wrote: Hello. Ever since the ISL patch went in my builds have failed. Which ISL patch ? I am building with local copies of all the libraries, so I have added gmp, mpfr, mpc, isl and cloog from ftp://gcc.gnu.org/pub/gcc/infrastructure to my source directory. I am not familiar with this build (I usually build gmp/mpfr/... once and install them). But it looks like isl doesn't see the gmp includes. But according to $(srcdir)/Makefile.in, gmp is configured with --with-gmp-include. Was isl correctly configured in your case ? I have not tested builds with gmp/mpfr in the source tree but have copied the logic from the old ppl/cloog configury. Can you try to replace $$r/$(HOST_SUBDIR)/gmp with $$s/gmp in Makefile.def? The issue is we can't specify both source and build dirs here (so the underlying issue is packages expect installed gmp but we don't actually install it - they are not expecting to be used as-is in their build directory). Richard.
Re: [PATCH] Move Graphite from using PPL over to ISL
On Thu, 5 Jul 2012, Richard Guenther wrote: On Thu, 5 Jul 2012, Tristan Gingold wrote: On Jul 4, 2012, at 8:31 PM, Magnus Fromreide wrote: Hello. Ever since the ISL patch went in my builds have failed. Which ISL patch ? I am building with local copies of all the libraries, so I have added gmp, mpfr, mpc, isl and cloog from ftp://gcc.gnu.org/pub/gcc/infrastructure to my source directory. I am not familiar with this build (I usually build gmp/mpfr/... once and install them). But it looks like isl doesn't see the gmp includes. But according to $(srcdir)/Makefile.in, gmp is configured with --with-gmp-include. Was isl correctly configured in your case ? I have not tested builds with gmp/mpfr in the source tree but have copied the logic from the old ppl/cloog configury. Can you try to replace $$r/$(HOST_SUBDIR)/gmp with $$s/gmp in Makefile.def? The issue is we can't specify both source and build dirs here (so the underlying issue is packages expect installed gmp but we don't actually install it - they are not expecting to be used as-is in their build directory). Looking at isl/cloog configure in detail it seems that the following might work (tested with all reqs in tree only yet). Hopefully it autodetects the case where the build dir does not exist and uses the system library instead then (of course alternate gmp install dirs are still not properly passed down I guess). Richard. Index: Makefile.def === --- Makefile.def(revision 189263) +++ Makefile.def(working copy) @@ -62,12 +62,12 @@ host_modules= { module= mpc; lib_path=.l extra_configure_flags='--disable-shared @extra_mpc_gmp_configure_flags@ @extra_mpc_mpfr_configure_flags@'; no_install= true; }; host_modules= { module= isl; lib_path=.libs; bootstrap=true; - extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp'; + extra_configure_flags='--disable-shared --with-gmp-builddir=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp'; + extra_make_flags='V=1'; no_install= true; }; host_modules= { module= cloog; lib_path=.libs; bootstrap=true; - extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp --with-isl=system'; - extra_exports='CPPFLAGS=-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include $$CPPFLAGS; export CPPFLAGS; LDFLAGS=-L$$r/$(HOST_SUBDIR)/isl/.libs $$LDFLAGS; export LDFLAGS; '; - extra_make_flags='CPPFLAGS=$$CPPFLAGS LDFLAGS=$$LDFLAGS V=1'; + extra_configure_flags='--disable-shared --with-gmp-builddir=$$r/$(HOST_SUBDIR)/gmp --with-isl-builddir=$$r/$(HOST_SUBDIR)/isl --with-bits=gmp'; + extra_make_flags='V=1'; no_install= true; }; host_modules= { module= libelf; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared';
Re: [PATCH] Move Graphite from using PPL over to ISL
On Thu, 5 Jul 2012, Richard Guenther wrote: On Thu, 5 Jul 2012, Richard Guenther wrote: On Thu, 5 Jul 2012, Tristan Gingold wrote: On Jul 4, 2012, at 8:31 PM, Magnus Fromreide wrote: Hello. Ever since the ISL patch went in my builds have failed. Which ISL patch ? I am building with local copies of all the libraries, so I have added gmp, mpfr, mpc, isl and cloog from ftp://gcc.gnu.org/pub/gcc/infrastructure to my source directory. I am not familiar with this build (I usually build gmp/mpfr/... once and install them). But it looks like isl doesn't see the gmp includes. But according to $(srcdir)/Makefile.in, gmp is configured with --with-gmp-include. Was isl correctly configured in your case ? I have not tested builds with gmp/mpfr in the source tree but have copied the logic from the old ppl/cloog configury. Can you try to replace $$r/$(HOST_SUBDIR)/gmp with $$s/gmp in Makefile.def? The issue is we can't specify both source and build dirs here (so the underlying issue is packages expect installed gmp but we don't actually install it - they are not expecting to be used as-is in their build directory). Looking at isl/cloog configure in detail it seems that the following might work (tested with all reqs in tree only yet). Hopefully it autodetects the case where the build dir does not exist and uses the system library instead then (of course alternate gmp install dirs are still not properly passed down I guess). Does not work with out-of-tree gmp. Any suggestion on how to conditionalize Makefile.def extra_configure_flags on the presence of a host_module? Richard. Index: Makefile.def === --- Makefile.def(revision 189263) +++ Makefile.def(working copy) @@ -62,12 +62,12 @@ host_modules= { module= mpc; lib_path=.l extra_configure_flags='--disable-shared @extra_mpc_gmp_configure_flags@ @extra_mpc_mpfr_configure_flags@'; no_install= true; }; host_modules= { module= isl; lib_path=.libs; bootstrap=true; - extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp'; + extra_configure_flags='--disable-shared --with-gmp-builddir=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp'; + extra_make_flags='V=1'; no_install= true; }; host_modules= { module= cloog; lib_path=.libs; bootstrap=true; - extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp --with-isl=system'; - extra_exports='CPPFLAGS=-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include $$CPPFLAGS; export CPPFLAGS; LDFLAGS=-L$$r/$(HOST_SUBDIR)/isl/.libs $$LDFLAGS; export LDFLAGS; '; - extra_make_flags='CPPFLAGS=$$CPPFLAGS LDFLAGS=$$LDFLAGS V=1'; + extra_configure_flags='--disable-shared --with-gmp-builddir=$$r/$(HOST_SUBDIR)/gmp --with-isl-builddir=$$r/$(HOST_SUBDIR)/isl --with-bits=gmp'; + extra_make_flags='V=1'; no_install= true; }; host_modules= { module= libelf; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared';
Re: [PATCH] Move Graphite from using PPL over to ISL
On 07/04/2012 08:51 AM, Terry Guo wrote: Hi Richard, What's the plan for 4.7 branch? Will you back port this patch to 4.7 and make it use ISL too? I am going to create a upstream GCC SVN branch from 4.7 for development on ARM embedded processors. If there will be some big changes for 4.7 in near future in terms of replacing PPL with ISL, I will delay the creation of my branch. Thanks. Hi Terry, I really don't think this makes a lot of sense. Those are huge changes that even bring different library requirements. Also, I don't see an urgent need to merge this back. ;-) If there is anybody who _needs_ a back port, I would be very interested in the reason. Cheers Tobi
Re: [PATCH] Move Graphite from using PPL over to ISL
On Tue, Jul 3, 2012 at 11:51 PM, Terry Guo terry@arm.com wrote: Hi Richard, What's the plan for 4.7 branch? Will you back port this patch to 4.7 and make it use ISL too? I am going to create a upstream GCC SVN branch from 4.7 for development on ARM embedded processors. If there will be some big changes for 4.7 in near future in terms of replacing PPL with ISL, I will delay the creation of my branch. Thanks. GCC has a policy of not backporting new features to release branches. This can be considered a new feature. In fact what might happen is disabling of the graphite support on the 4.7 branch instead. Is there a reason why you can't do development on the trunk? And then support a 4.7 for your own uses? At Cavium, we try to do development on an internal tree and then post them upstream. Though in the future we would like to do things upstream first and then backport features to a release branch that we handle internally. Thanks, Andrew Pinski
RE: [PATCH] Move Graphite from using PPL over to ISL
-Original Message- From: pins...@gmail.com [mailto:pins...@gmail.com] On Behalf Of Andrew Pinski Sent: Wednesday, July 04, 2012 2:58 PM To: Terry Guo Cc: Richard Guenther; gcc-patches@gcc.gnu.org; tob...@grosser.es; seb...@gmail.com; Michael Matz; Diego Novillo; Joey Ye Subject: Re: [PATCH] Move Graphite from using PPL over to ISL On Tue, Jul 3, 2012 at 11:51 PM, Terry Guo terry@arm.com wrote: Hi Richard, What's the plan for 4.7 branch? Will you back port this patch to 4.7 and make it use ISL too? I am going to create a upstream GCC SVN branch from 4.7 for development on ARM embedded processors. If there will be some big changes for 4.7 in near future in terms of replacing PPL with ISL, I will delay the creation of my branch. Thanks. GCC has a policy of not backporting new features to release branches. This can be considered a new feature. In fact what might happen is disabling of the graphite support on the 4.7 branch instead. Is there a reason why you can't do development on the trunk? And then support a 4.7 for your own uses? At Cavium, we try to do development on an internal tree and then post them upstream. Though in the future we would like to do things upstream first and then backport features to a release branch that we handle internally. Hi Tobi and Andrew, Thanks for your timely answers. I just saw Sebastian's comments: Yes, having GCC only depend on ISL and CLooG-ISL (and not depend anymore on PPL) is our plan for 4.7. from http://gcc.gnu.org/ml/gcc-patches/2011-08/msg01161.html. As for development model, we do work as Andrew said, upstream first and then backport features. The 4.7 branch I mentioned is mainly because we want to make a tool chain release based on 4.7 with some fixes backported from trunk. BR, Terry
RE: [PATCH] Move Graphite from using PPL over to ISL
-Original Message- From: Terry Guo [mailto:terry@arm.com] Sent: Wednesday, July 04, 2012 15:12 To: 'Andrew Pinski'; tob...@grosser.es Cc: gcc-patches@gcc.gnu.org; Joey Ye Subject: RE: [PATCH] Move Graphite from using PPL over to ISL -Original Message- From: pins...@gmail.com [mailto:pins...@gmail.com] On Behalf Of Andrew Pinski Sent: Wednesday, July 04, 2012 2:58 PM To: Terry Guo Cc: Richard Guenther; gcc-patches@gcc.gnu.org; tob...@grosser.es; seb...@gmail.com; Michael Matz; Diego Novillo; Joey Ye Subject: Re: [PATCH] Move Graphite from using PPL over to ISL On Tue, Jul 3, 2012 at 11:51 PM, Terry Guo terry@arm.com wrote: Hi Richard, What's the plan for 4.7 branch? Will you back port this patch to 4.7 and make it use ISL too? I am going to create a upstream GCC SVN branch from 4.7 for development on ARM embedded processors. If there will be some big changes for 4.7 in near future in terms of replacing PPL with ISL, I will delay the creation of my branch. Thanks. GCC has a policy of not backporting new features to release branches. This can be considered a new feature. In fact what might happen is disabling of the graphite support on the 4.7 branch instead. Is there a reason why you can't do development on the trunk? And then support a 4.7 for your own uses? At Cavium, we try to do development on an internal tree and then post them upstream. Though in the future we would like to do things upstream first and then backport features to a release branch that we handle internally. Hi Tobi and Andrew, Thanks for your timely answers. I just saw Sebastian's comments: Yes, having GCC only depend on ISL and CLooG-ISL (and not depend anymore on PPL) is our plan for 4.7. from http://gcc.gnu.org/ml/gcc-patches/2011-08/msg01161.html. As for development model, we do work as Andrew said, upstream first and then backport features. The 4.7 branch I mentioned is mainly because we want to make a tool chain release based on 4.7 with some fixes backported from trunk. Don't think it make sense backporting to 4.7 either. - Joey
Re: [PATCH] Move Graphite from using PPL over to ISL
On Wed, Jul 4, 2012 at 12:11 AM, Terry Guo terry@arm.com wrote: -Original Message- From: pins...@gmail.com [mailto:pins...@gmail.com] On Behalf Of Andrew Pinski Sent: Wednesday, July 04, 2012 2:58 PM To: Terry Guo Cc: Richard Guenther; gcc-patches@gcc.gnu.org; tob...@grosser.es; seb...@gmail.com; Michael Matz; Diego Novillo; Joey Ye Subject: Re: [PATCH] Move Graphite from using PPL over to ISL On Tue, Jul 3, 2012 at 11:51 PM, Terry Guo terry@arm.com wrote: Hi Richard, What's the plan for 4.7 branch? Will you back port this patch to 4.7 and make it use ISL too? I am going to create a upstream GCC SVN branch from 4.7 for development on ARM embedded processors. If there will be some big changes for 4.7 in near future in terms of replacing PPL with ISL, I will delay the creation of my branch. Thanks. GCC has a policy of not backporting new features to release branches. This can be considered a new feature. In fact what might happen is disabling of the graphite support on the 4.7 branch instead. Is there a reason why you can't do development on the trunk? And then support a 4.7 for your own uses? At Cavium, we try to do development on an internal tree and then post them upstream. Though in the future we would like to do things upstream first and then backport features to a release branch that we handle internally. Hi Tobi and Andrew, Thanks for your timely answers. I just saw Sebastian's comments: Yes, having GCC only depend on ISL and CLooG-ISL (and not depend anymore on PPL) is our plan for 4.7. from http://gcc.gnu.org/ml/gcc-patches/2011-08/msg01161.html. Yes but those were made before 4.7 branched and was a release branch. The plan did not happen until almost a year later. Thanks, Andrew Pinski As for development model, we do work as Andrew said, upstream first and then backport features. The 4.7 branch I mentioned is mainly because we want to make a tool chain release based on 4.7 with some fixes backported from trunk. BR, Terry
RE: [PATCH] Move Graphite from using PPL over to ISL
Hi Tobi and Andrew, Thanks for your timely answers. I just saw Sebastian's comments: Yes, having GCC only depend on ISL and CLooG-ISL (and not depend anymore on PPL) is our plan for 4.7. from http://gcc.gnu.org/ml/gcc-patches/2011-08/msg01161.html. Yes but those were made before 4.7 branched and was a release branch. The plan did not happen until almost a year later. Thanks Andrew. You solved all my questions and concerns. BR, Terry
Re: [PATCH] Move Graphite from using PPL over to ISL
On Jul 2, 2012, at 1:43 PM, Richard Guenther wrote: On Thu, 28 Jun 2012, Diego Novillo wrote: On 12-06-27 11:06 , Richard Guenther wrote: 2012-06-27 Richard Guenther rguent...@suse.de Michael Matz m...@suse.de Tobias Grosser tob...@grosser.es Sebastian Pop seb...@gmail.com config/ * cloog.m4: Set up to work against ISL only. * isl.m4: New file. Shouldn't ENABLE_IS_CHECK be automatically set to no when building a cross canadian ?
Re: [PATCH] Move Graphite from using PPL over to ISL
On Wed, 4 Jul 2012, Tristan Gingold wrote: On Jul 2, 2012, at 1:43 PM, Richard Guenther wrote: On Thu, 28 Jun 2012, Diego Novillo wrote: On 12-06-27 11:06 , Richard Guenther wrote: 2012-06-27 Richard Guenther rguent...@suse.de Michael Matz m...@suse.de Tobias Grosser tob...@grosser.es Sebastian Pop seb...@gmail.com config/ * cloog.m4: Set up to work against ISL only. * isl.m4: New file. Shouldn't ENABLE_IS_CHECK be automatically set to no when building a cross canadian ? Probably yes, as it is a runtime test. Thus at any time when host != build. Care to post a patch? You probably know best what the canonical way to check this is. Richard.
Re: [PATCH] Move Graphite from using PPL over to ISL
On Jul 4, 2012, at 10:58 AM, Richard Guenther wrote: On Wed, 4 Jul 2012, Tristan Gingold wrote: On Jul 2, 2012, at 1:43 PM, Richard Guenther wrote: On Thu, 28 Jun 2012, Diego Novillo wrote: On 12-06-27 11:06 , Richard Guenther wrote: 2012-06-27 Richard Guenther rguent...@suse.de Michael Matz m...@suse.de Tobias Grosser tob...@grosser.es Sebastian Pop seb...@gmail.com config/ * cloog.m4: Set up to work against ISL only. * isl.m4: New file. Shouldn't ENABLE_IS_CHECK be automatically set to no when building a cross canadian ? Probably yes, as it is a runtime test. Thus at any time when host != build. Care to post a patch? You probably know best what the canonical way to check this is. Something like that ? Tested by building a cross and a canadian for ia64-hp-openvms. Tristan. 2012-07-04 Tristan Gingold ging...@adacore.com * configure: Regenerate. config/ 2012-07-04 Tristan Gingold ging...@adacore.com * isl.m4 (ISL_CHECK_VERSION): Set to yes if cross-compiling. Fix comments. diff --git a/config/isl.m4 b/config/isl.m4 index 152d422..831ac26 100644 --- a/config/isl.m4 +++ b/config/isl.m4 @@ -103,7 +103,7 @@ AC_DEFUN([ISL_REQUESTED], # _ISL_CHECK_CT_PROG(MAJOR, MINOR) # -# Helper for verifying CLooG's compile time version. +# Helper for verifying ISL compile time version. m4_define([_ISL_CHECK_CT_PROG],[AC_LANG_PROGRAM( [#include isl/version.h [gcc_cv_isl=yes], - [gcc_cv_isl=no])]) + [gcc_cv_isl=no], + [gcc_cv_isl=yes])]) CFLAGS=$_isl_saved_CFLAGS LDFLAGS=$_isl_saved_LDFLAGS
Re: [PATCH] Move Graphite from using PPL over to ISL
On Wed, 4 Jul 2012, Tristan Gingold wrote: On Jul 4, 2012, at 10:58 AM, Richard Guenther wrote: On Wed, 4 Jul 2012, Tristan Gingold wrote: On Jul 2, 2012, at 1:43 PM, Richard Guenther wrote: On Thu, 28 Jun 2012, Diego Novillo wrote: On 12-06-27 11:06 , Richard Guenther wrote: 2012-06-27 Richard Guenther rguent...@suse.de Michael Matz m...@suse.de Tobias Grosser tob...@grosser.es Sebastian Pop seb...@gmail.com config/ * cloog.m4: Set up to work against ISL only. * isl.m4: New file. Shouldn't ENABLE_IS_CHECK be automatically set to no when building a cross canadian ? Probably yes, as it is a runtime test. Thus at any time when host != build. Care to post a patch? You probably know best what the canonical way to check this is. Something like that ? Tested by building a cross and a canadian for ia64-hp-openvms. Seems to be an incremental patch ontop of the real patch? Richard.
Re: [PATCH] Move Graphite from using PPL over to ISL
On Jul 4, 2012, at 12:32 PM, Richard Guenther wrote: On Wed, 4 Jul 2012, Tristan Gingold wrote: On Jul 4, 2012, at 10:58 AM, Richard Guenther wrote: On Wed, 4 Jul 2012, Tristan Gingold wrote: On Jul 2, 2012, at 1:43 PM, Richard Guenther wrote: On Thu, 28 Jun 2012, Diego Novillo wrote: On 12-06-27 11:06 , Richard Guenther wrote: 2012-06-27 Richard Guenther rguent...@suse.de Michael Matz m...@suse.de Tobias Grosser tob...@grosser.es Sebastian Pop seb...@gmail.com config/ * cloog.m4: Set up to work against ISL only. * isl.m4: New file. Shouldn't ENABLE_IS_CHECK be automatically set to no when building a cross canadian ? Probably yes, as it is a runtime test. Thus at any time when host != build. Care to post a patch? You probably know best what the canonical way to check this is. Something like that ? Tested by building a cross and a canadian for ia64-hp-openvms. Seems to be an incremental patch ontop of the real patch? No, what does make you think so ? That's an incremental patch on top of many VMS specific unrelated patches, but this is the real patch: building a cross compiler fails without it. Tristan.
Re: [PATCH] Move Graphite from using PPL over to ISL
On Wed, 4 Jul 2012, Tristan Gingold wrote: On Jul 4, 2012, at 12:32 PM, Richard Guenther wrote: On Wed, 4 Jul 2012, Tristan Gingold wrote: On Jul 4, 2012, at 10:58 AM, Richard Guenther wrote: On Wed, 4 Jul 2012, Tristan Gingold wrote: On Jul 2, 2012, at 1:43 PM, Richard Guenther wrote: On Thu, 28 Jun 2012, Diego Novillo wrote: On 12-06-27 11:06 , Richard Guenther wrote: 2012-06-27 Richard Guenther rguent...@suse.de Michael Matz m...@suse.de Tobias Grosser tob...@grosser.es Sebastian Pop seb...@gmail.com config/ * cloog.m4: Set up to work against ISL only. * isl.m4: New file. Shouldn't ENABLE_IS_CHECK be automatically set to no when building a cross canadian ? Probably yes, as it is a runtime test. Thus at any time when host != build. Care to post a patch? You probably know best what the canonical way to check this is. Something like that ? Tested by building a cross and a canadian for ia64-hp-openvms. Seems to be an incremental patch ontop of the real patch? No, what does make you think so ? That's an incremental patch on top of many VMS specific unrelated patches, but this is the real patch: building a cross compiler fails without it. Well, diff --git a/config/isl.m4 b/config/isl.m4 index 152d422..831ac26 100644 --- a/config/isl.m4 +++ b/config/isl.m4 @@ -103,7 +103,7 @@ AC_DEFUN([ISL_REQUESTED], # _ISL_CHECK_CT_PROG(MAJOR, MINOR) # -# Helper for verifying CLooG's compile time version. +# Helper for verifying ISL compile time version. m4_define([_ISL_CHECK_CT_PROG],[AC_LANG_PROGRAM( [#include isl/version.h [gcc_cv_isl=yes], - [gcc_cv_isl=no])]) + [gcc_cv_isl=no], + [gcc_cv_isl=yes])]) CFLAGS=$_isl_saved_CFLAGS LDFLAGS=$_isl_saved_LDFLAGS Does not apply for me - there seems to be lines missing. I guess the 2nd hunk is for AC_CACHE_CHECK([for version $1.$2 of ISL], [gcc_cv_isl], [AC_RUN_IFELSE([_ISL_CHECK_CT_PROG($1,$2)], [gcc_cv_isl=yes], [gcc_cv_isl=no])]) CFLAGS=$_isl_saved_CFLAGS ? Then the patch is ok. Thanks, Richard.
Re: [PATCH] Move Graphite from using PPL over to ISL
Hello. Ever since the ISL patch went in my builds have failed. I am building with local copies of all the libraries, so I have added gmp, mpfr, mpc, isl and cloog from ftp://gcc.gnu.org/pub/gcc/infrastructure to my source directory. The command sequence I use is svn co svn://gcc.gnu.org/svn/gcc/trunk cd trunk ./contrib/download_prerequisites wget ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-0.17.0.tar.gz ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.10.tar.bz2 tar xjf isl-0.10.tar.bz2 tar xzf cloog-0.17.0.tar.gz ln -s cloog-0.17.0 cloog ln -s isl-0.10 isl cd .. mkdir build cd build ../trunk/configure make V=1 and the error message I get is make[5]: Entering directory `/home/maf/src/gcc/build/isl' /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../trunk/isl -I../../trunk/isl/include -Iinclude/ -I. -I../../trunk/isl -I../../trunk/isl/include -Iinclude/ -g -fkeep-inline-functions -MT libisl_la-isl_lp_no_piplib.lo -MD -MP -MF .deps/libisl_la-isl_lp_no_piplib.Tpo -c -o libisl_la-isl_lp_no_piplib.lo `test -f 'isl_lp_no_piplib.c' || echo '../../trunk/isl/'`isl_lp_no_piplib.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../trunk/isl -I../../trunk/isl/include -Iinclude/ -I. -I../../trunk/isl -I../../trunk/isl/include -Iinclude/ -g -fkeep-inline-functions -MT libisl_la-isl_lp_no_piplib.lo -MD -MP -MF .deps/libisl_la-isl_lp_no_piplib.Tpo -c ../../trunk/isl/isl_lp_no_piplib.c -o libisl_la-isl_lp_no_piplib.o In file included from ../../trunk/isl/include/isl/lp.h:13:0, from ../../trunk/isl/isl_lp_piplib.h:13, from ../../trunk/isl/isl_lp_no_piplib.c:10: ../../trunk/isl/include/isl/int.h:15:17: fatal error: gmp.h: No such file or directory compilation terminated. make[5]: *** [libisl_la-isl_lp_no_piplib.lo] Error 1 make[5]: Leaving directory `/home/maf/src/gcc/build/isl' Making all in doc make[5]: Entering directory `/home/maf/src/gcc/build/isl/doc' make[5]: Nothing to be done for `all'. make[5]: Leaving directory `/home/maf/src/gcc/build/isl/doc' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/maf/src/gcc/build/isl' make[3]: *** [all] Error 2 make[3]: Leaving directory `/home/maf/src/gcc/build/isl' make[2]: *** [all-stage1-isl] Error 2 make[2]: Leaving directory `/home/maf/src/gcc/build' make[1]: *** [stage1-bubble] Error 2 make[1]: Leaving directory `/home/maf/src/gcc/build' make: *** [all] Error 2 but 'ls gmp/gmp.h' shows that the file is there. Please note that my machine lack the gmp-devel package, so there is no /usr/include/gmp.h. Adding that package makes the build succeed, but that sounds ridiculous as there is a local copy. /MF
Re: [PATCH] Move Graphite from using PPL over to ISL
On Mon, 2 Jul 2012, Nenad Vukicevic wrote: On 6/27/2012 8:06 AM, Richard Guenther wrote: This merges from the graphite branch the move of PPL to ISL, and completes it where it was lacking - thanks to Micha. It leaves unmerged the addition of a pluto-like ISL optimizer as well as a bugfix for stride 1 which did not come with a testcase. With this patch (ontop of the one requiring ClooG 0.17.0) we will require ISL 0.10 for enabling Graphite. I've bootstrapped and built various combinations with in-tree and out-of-tree cloog and ISL, so I'm pretty confident that this works. With out-of-tree ClooG and ISL a slightly older patch ontop of its prerequesite passed bootstrap and testing on x86_64-unknown-linux-gnu. Currently re-bootstrapping and testing on x86_64-unknown-linux-gnu. Ok for trunk? After trying to build from the trunk I got this error on x86_64 platform: make[3]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog/test' CC generate_test.o cd ..; make libcloog-isl.la make[4]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog' CC libcloog_isl_la-domain.lo In file included from ../../gcc-trunk/cloog/include/cloog/isl/constraintset.h:4:0, from ../../gcc-trunk/cloog/include/cloog/isl/cloog.h:9, from ../../gcc-trunk/cloog/source/isl/domain.c:6: ../../gcc-trunk/cloog/include/cloog/isl/backend.h:4:28: fatal error: ^^^ This means that cloog was not able to build against ISL 0.10. You should see in its configury that it uses the ISL version installed on the system (and picks up the one just built from the drop-in in the source tree). That is, cloog is configured via host_modules= { module= cloog; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp --with-isl=system'; extra_exports='CPPFLAGS=-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include ${CPPFLAGS}; export CPPFLAGS; LDFLAGS=-L$$r/$(HOST_SUBDIR)/isl/.libs $$LDFLAGS; export LDFLAGS; '; extra_make_flags='CPPFLAGS=${CPPFLAGS} LDFLAGS=$$LDFLAGS'; no_install= true; }; thus using --with-isl=system, via CPPFLAGS it should be able to pick up the just built ISL. You need to debug why that is not working. I suppose for installed cloog / ISL we could strengthen the configure check or re-order the includes so that the ISL include dir comes before the cloog one (if you happen to build against two different ISL versions). Thus, Index: gcc/Makefile.in === --- gcc/Makefile.in (revision 189158) +++ gcc/Makefile.in (working copy) @@ -1057,7 +1057,7 @@ BUILD_ERRORS = build/errors.o INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \ -I$(srcdir)/../include @INCINTL@ \ $(CPPINC) $(GMPINC) $(DECNUMINC) \ - $(CLOOGINC) $(ISLINC) + $(ISLINC) $(CLOOGINC) .c.o: $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $ $(OUTPUT_OPTION) but the question is whether this will hide real issues that will pop up when cloog is built against a different ISL version than 0.10 (for example against the version that is included within the cloog tarball). So - can you double-check what happens? I did test both in-tree and out-of-tree builds, with wrong versions and correct versions. Thanks, Richard.
Re: [PATCH] Move Graphite from using PPL over to ISL
On Tue, 3 Jul 2012, Richard Guenther wrote: On Mon, 2 Jul 2012, Nenad Vukicevic wrote: On 6/27/2012 8:06 AM, Richard Guenther wrote: This merges from the graphite branch the move of PPL to ISL, and completes it where it was lacking - thanks to Micha. It leaves unmerged the addition of a pluto-like ISL optimizer as well as a bugfix for stride 1 which did not come with a testcase. With this patch (ontop of the one requiring ClooG 0.17.0) we will require ISL 0.10 for enabling Graphite. I've bootstrapped and built various combinations with in-tree and out-of-tree cloog and ISL, so I'm pretty confident that this works. With out-of-tree ClooG and ISL a slightly older patch ontop of its prerequesite passed bootstrap and testing on x86_64-unknown-linux-gnu. Currently re-bootstrapping and testing on x86_64-unknown-linux-gnu. Ok for trunk? After trying to build from the trunk I got this error on x86_64 platform: make[3]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog/test' CC generate_test.o cd ..; make libcloog-isl.la make[4]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog' CC libcloog_isl_la-domain.lo In file included from ../../gcc-trunk/cloog/include/cloog/isl/constraintset.h:4:0, from ../../gcc-trunk/cloog/include/cloog/isl/cloog.h:9, from ../../gcc-trunk/cloog/source/isl/domain.c:6: ../../gcc-trunk/cloog/include/cloog/isl/backend.h:4:28: fatal error: Looking again this is from the cloog build. If I repeat your tests (I suppose I didn't check non-bootstrap in-tree builds) it works just fine for me. The cloog/config.log should contain something like configure:11964: checking which isl to use configure:11966: result: system and all gcc invocations in the configury should have include paths set up to have the built isl/include first, then the source isl/include: configure:12073: gcc -c -g -O2 -I/abuild/rguenther/obj/./isl/include -I/space/rguenther/src/svn/trunk/isl/include conftest.c 5 Did you really unpack isl into the source tree as well? Ah, I see what might happen - if you forget to have isl inside the tree we disable graphite but cloog still gets built, but will fail. I'll see to fix that. Thanks, Richard.
Re: [PATCH] Move Graphite from using PPL over to ISL
On Tue, 3 Jul 2012, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Mon, 2 Jul 2012, Nenad Vukicevic wrote: On 6/27/2012 8:06 AM, Richard Guenther wrote: This merges from the graphite branch the move of PPL to ISL, and completes it where it was lacking - thanks to Micha. It leaves unmerged the addition of a pluto-like ISL optimizer as well as a bugfix for stride 1 which did not come with a testcase. With this patch (ontop of the one requiring ClooG 0.17.0) we will require ISL 0.10 for enabling Graphite. I've bootstrapped and built various combinations with in-tree and out-of-tree cloog and ISL, so I'm pretty confident that this works. With out-of-tree ClooG and ISL a slightly older patch ontop of its prerequesite passed bootstrap and testing on x86_64-unknown-linux-gnu. Currently re-bootstrapping and testing on x86_64-unknown-linux-gnu. Ok for trunk? After trying to build from the trunk I got this error on x86_64 platform: make[3]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog/test' CC generate_test.o cd ..; make libcloog-isl.la make[4]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog' CC libcloog_isl_la-domain.lo In file included from ../../gcc-trunk/cloog/include/cloog/isl/constraintset.h:4:0, from ../../gcc-trunk/cloog/include/cloog/isl/cloog.h:9, from ../../gcc-trunk/cloog/source/isl/domain.c:6: ../../gcc-trunk/cloog/include/cloog/isl/backend.h:4:28: fatal error: Looking again this is from the cloog build. If I repeat your tests (I suppose I didn't check non-bootstrap in-tree builds) it works just fine for me. The cloog/config.log should contain something like configure:11964: checking which isl to use configure:11966: result: system and all gcc invocations in the configury should have include paths set up to have the built isl/include first, then the source isl/include: configure:12073: gcc -c -g -O2 -I/abuild/rguenther/obj/./isl/include -I/space/rguenther/src/svn/trunk/isl/include conftest.c 5 Did you really unpack isl into the source tree as well? Ah, I see what might happen - if you forget to have isl inside the tree we disable graphite but cloog still gets built, but will fail. I'll see to fix that. Fixed with the following. I'll test it with some combinations of valid/invalid cloog/isl versions before installing. Thanks for the report! Richard. 2012-07-03 Richard Guenther rguent...@suse.de config/ * cloog.m4: Remove debugging print. * configure.ac: If either the ISL or the CLooG check failed do not try to build in-tree versions. * configure: Regenerated. Index: config/cloog.m4 === *** config/cloog.m4 (revision 189158) --- config/cloog.m4 (working copy) *** AC_DEFUN([CLOOG_INIT_FLAGS], *** 67,73 dnl source, set up flags to use that. if test x${clooginc} == x test x${clooglibs} == x \ test -d ${srcdir}/cloog; then - echo FooBar clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'$lt_cv_objdir' ' clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include -I'${srcdir}'/cloog/include ' fi --- 67,72 Index: configure.ac === *** configure.ac(revision 189158) --- configure.ac(working copy) *** fi *** 1535,1541 dnl Provide configure switches and initialize clooginc clooglibs dnl with user input. CLOOG_INIT_FLAGS ! if test x$with_cloog != xno; then dnl The minimal version of CLooG required for Graphite. dnl dnl If we use CLooG-Legacy, the provided version information is --- 1535,1544 dnl Provide configure switches and initialize clooginc clooglibs dnl with user input. CLOOG_INIT_FLAGS ! if test x$isllibs = x test x$islinc = x; then ! clooglibs= ! clooginc= ! elif test x$with_cloog != xno; then dnl The minimal version of CLooG required for Graphite. dnl dnl If we use CLooG-Legacy, the provided version information is *** if test x$with_cloog != xno; then *** 1547,1552 --- 1550,1561 AC_MSG_ERROR([Unable to find a usable CLooG. See config.log for details.])]) fi + # If either the ISL or the CLooG check failed, disable builds of in-tree + # variants of both + if test x$clooglibs = x test x$clooginc = x; then + noconfigdirs=$noconfigdirs cloog isl + fi + # Check for LTO support. AC_ARG_ENABLE(lto, [AS_HELP_STRING([--enable-lto], [enable link time optimization support])],
Re: [PATCH] Move Graphite from using PPL over to ISL
On Tue, 3 Jul 2012, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Mon, 2 Jul 2012, Nenad Vukicevic wrote: On 6/27/2012 8:06 AM, Richard Guenther wrote: This merges from the graphite branch the move of PPL to ISL, and completes it where it was lacking - thanks to Micha. It leaves unmerged the addition of a pluto-like ISL optimizer as well as a bugfix for stride 1 which did not come with a testcase. With this patch (ontop of the one requiring ClooG 0.17.0) we will require ISL 0.10 for enabling Graphite. I've bootstrapped and built various combinations with in-tree and out-of-tree cloog and ISL, so I'm pretty confident that this works. With out-of-tree ClooG and ISL a slightly older patch ontop of its prerequesite passed bootstrap and testing on x86_64-unknown-linux-gnu. Currently re-bootstrapping and testing on x86_64-unknown-linux-gnu. Ok for trunk? After trying to build from the trunk I got this error on x86_64 platform: make[3]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog/test' CC generate_test.o cd ..; make libcloog-isl.la make[4]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog' CC libcloog_isl_la-domain.lo In file included from ../../gcc-trunk/cloog/include/cloog/isl/constraintset.h:4:0, from ../../gcc-trunk/cloog/include/cloog/isl/cloog.h:9, from ../../gcc-trunk/cloog/source/isl/domain.c:6: ../../gcc-trunk/cloog/include/cloog/isl/backend.h:4:28: fatal error: Looking again this is from the cloog build. If I repeat your tests (I suppose I didn't check non-bootstrap in-tree builds) it works just fine for me. The cloog/config.log should contain something like configure:11964: checking which isl to use configure:11966: result: system and all gcc invocations in the configury should have include paths set up to have the built isl/include first, then the source isl/include: configure:12073: gcc -c -g -O2 -I/abuild/rguenther/obj/./isl/include -I/space/rguenther/src/svn/trunk/isl/include conftest.c 5 Did you really unpack isl into the source tree as well? Ah, I see what might happen - if you forget to have isl inside the tree we disable graphite but cloog still gets built, but will fail. I'll see to fix that. Fixed with the following. I'll test it with some combinations of valid/invalid cloog/isl versions before installing. Hum. Ok, I installed the following, but in-tree builds seem to no longer work for some reason. CPPFLAGS get dropped in some way, even as they are present properly ... Richard. 2012-07-03 Richard Guenther rguent...@suse.de config/ * cloog.m4: Remove debugging print. * Makefile.def (cloog): Add V=1 to extra_make_flags. * configure.ac: If either the ISL or the CLooG check failed do not try to build in-tree versions. * Makefile.in: Regenerated. * configure: Regenerated. Index: config/cloog.m4 === *** config/cloog.m4 (revision 189158) --- config/cloog.m4 (working copy) *** AC_DEFUN([CLOOG_INIT_FLAGS], *** 67,73 dnl source, set up flags to use that. if test x${clooginc} == x test x${clooglibs} == x \ test -d ${srcdir}/cloog; then - echo FooBar clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'$lt_cv_objdir' ' clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include -I'${srcdir}'/cloog/include ' fi --- 67,72 Index: configure.ac === *** configure.ac(revision 189158) --- configure.ac(working copy) *** fi *** 1535,1541 dnl Provide configure switches and initialize clooginc clooglibs dnl with user input. CLOOG_INIT_FLAGS ! if test x$with_cloog != xno; then dnl The minimal version of CLooG required for Graphite. dnl dnl If we use CLooG-Legacy, the provided version information is --- 1535,1544 dnl Provide configure switches and initialize clooginc clooglibs dnl with user input. CLOOG_INIT_FLAGS ! if test x$isllibs = x test x$islinc = x; then ! clooglibs= ! clooginc= ! elif test x$with_cloog != xno; then dnl The minimal version of CLooG required for Graphite. dnl dnl If we use CLooG-Legacy, the provided version information is *** if test x$with_cloog != xno; then *** 1547,1552 --- 1550,1561 AC_MSG_ERROR([Unable to find a usable CLooG. See config.log for details.])]) fi + # If either the ISL or the CLooG check failed, disable builds of in-tree + # variants of both + if test x$clooglibs = x test x$clooginc = x; then + noconfigdirs=$noconfigdirs cloog isl +
Re: [PATCH] Move Graphite from using PPL over to ISL
On Tue, 3 Jul 2012, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Mon, 2 Jul 2012, Nenad Vukicevic wrote: On 6/27/2012 8:06 AM, Richard Guenther wrote: This merges from the graphite branch the move of PPL to ISL, and completes it where it was lacking - thanks to Micha. It leaves unmerged the addition of a pluto-like ISL optimizer as well as a bugfix for stride 1 which did not come with a testcase. With this patch (ontop of the one requiring ClooG 0.17.0) we will require ISL 0.10 for enabling Graphite. I've bootstrapped and built various combinations with in-tree and out-of-tree cloog and ISL, so I'm pretty confident that this works. With out-of-tree ClooG and ISL a slightly older patch ontop of its prerequesite passed bootstrap and testing on x86_64-unknown-linux-gnu. Currently re-bootstrapping and testing on x86_64-unknown-linux-gnu. Ok for trunk? After trying to build from the trunk I got this error on x86_64 platform: make[3]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog/test' CC generate_test.o cd ..; make libcloog-isl.la make[4]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog' CC libcloog_isl_la-domain.lo In file included from ../../gcc-trunk/cloog/include/cloog/isl/constraintset.h:4:0, from ../../gcc-trunk/cloog/include/cloog/isl/cloog.h:9, from ../../gcc-trunk/cloog/source/isl/domain.c:6: ../../gcc-trunk/cloog/include/cloog/isl/backend.h:4:28: fatal error: Looking again this is from the cloog build. If I repeat your tests (I suppose I didn't check non-bootstrap in-tree builds) it works just fine for me. The cloog/config.log should contain something like configure:11964: checking which isl to use configure:11966: result: system and all gcc invocations in the configury should have include paths set up to have the built isl/include first, then the source isl/include: configure:12073: gcc -c -g -O2 -I/abuild/rguenther/obj/./isl/include -I/space/rguenther/src/svn/trunk/isl/include conftest.c 5 Did you really unpack isl into the source tree as well? Ah, I see what might happen - if you forget to have isl inside the tree we disable graphite but cloog still gets built, but will fail. I'll see to fix that. Fixed with the following. I'll test it with some combinations of valid/invalid cloog/isl versions before installing. Hum. Ok, I installed the following, but in-tree builds seem to no longer work for some reason. CPPFLAGS get dropped in some way, even as they are present properly ... The following fixes that. Tested with various combinations of in-tree/out-of-tree cloog/isl. Installed. Richard. 2012-06-03 Richard Guenther rguent...@suse.de * Makfile.def (isl): Remove not necessary extra_exports and extra_make_flags. (cloog): Use $$CPPFLAGS instead of ${CPPFLAGS}. * Makefile.in: Regenerated. Index: Makefile.def === --- Makefile.def(revision 189209) +++ Makefile.def(working copy) @@ -63,13 +63,11 @@ host_modules= { module= mpc; lib_path=.l no_install= true; }; host_modules= { module= isl; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp'; - extra_exports='CPPFLAGS=${CPPFLAGS}; export CPPFLAGS; LDFLAGS=$$LDFLAGS; export LDFLAGS; '; - extra_make_flags='CPPFLAGS=${CPPFLAGS} LDFLAGS=$$LDFLAGS'; no_install= true; }; host_modules= { module= cloog; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp --with-isl=system'; - extra_exports='CPPFLAGS=-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include ${CPPFLAGS}; export CPPFLAGS; LDFLAGS=-L$$r/$(HOST_SUBDIR)/isl/.libs $$LDFLAGS; export LDFLAGS; '; - extra_make_flags='CPPFLAGS=${CPPFLAGS} LDFLAGS=$$LDFLAGS V=1'; + extra_exports='CPPFLAGS=-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include $$CPPFLAGS; export CPPFLAGS; LDFLAGS=-L$$r/$(HOST_SUBDIR)/isl/.libs $$LDFLAGS; export LDFLAGS; '; + extra_make_flags='CPPFLAGS=$$CPPFLAGS LDFLAGS=$$LDFLAGS V=1'; no_install= true; }; host_modules= { module= libelf; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared';
Re: [PATCH] Move Graphite from using PPL over to ISL
On 07/03/2012 12:12 PM, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Mon, 2 Jul 2012, Nenad Vukicevic wrote: On 6/27/2012 8:06 AM, Richard Guenther wrote: This merges from the graphite branch the move of PPL to ISL, and completes it where it was lacking - thanks to Micha. It leaves unmerged the addition of a pluto-like ISL optimizer as well as a bugfix for stride 1 which did not come with a testcase. With this patch (ontop of the one requiring ClooG 0.17.0) we will require ISL 0.10 for enabling Graphite. I've bootstrapped and built various combinations with in-tree and out-of-tree cloog and ISL, so I'm pretty confident that this works. With out-of-tree ClooG and ISL a slightly older patch ontop of its prerequesite passed bootstrap and testing on x86_64-unknown-linux-gnu. Currently re-bootstrapping and testing on x86_64-unknown-linux-gnu. Ok for trunk? After trying to build from the trunk I got this error on x86_64 platform: make[3]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog/test' CC generate_test.o cd ..; make libcloog-isl.la make[4]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog' CC libcloog_isl_la-domain.lo In file included from ../../gcc-trunk/cloog/include/cloog/isl/constraintset.h:4:0, from ../../gcc-trunk/cloog/include/cloog/isl/cloog.h:9, from ../../gcc-trunk/cloog/source/isl/domain.c:6: ../../gcc-trunk/cloog/include/cloog/isl/backend.h:4:28: fatal error: Looking again this is from the cloog build. If I repeat your tests (I suppose I didn't check non-bootstrap in-tree builds) it works just fine for me. The cloog/config.log should contain something like configure:11964: checking which isl to use configure:11966: result: system and all gcc invocations in the configury should have include paths set up to have the built isl/include first, then the source isl/include: configure:12073: gcc -c -g -O2 -I/abuild/rguenther/obj/./isl/include -I/space/rguenther/src/svn/trunk/isl/include conftest.c5 Did you really unpack isl into the source tree as well? Ah, I see what might happen - if you forget to have isl inside the tree we disable graphite but cloog still gets built, but will fail. I'll see to fix that. Fixed with the following. I'll test it with some combinations of valid/invalid cloog/isl versions before installing. Hum. Ok, I installed the following, but in-tree builds seem to no longer work for some reason. CPPFLAGS get dropped in some way, even as they are present properly ... The following fixes that. Tested with various combinations of in-tree/out-of-tree cloog/isl. Installed. Thanks Richard! Tobi
Re: [PATCH] Move Graphite from using PPL over to ISL
I'll try again. On the other hand I am pretty sure that I have ISL unpacked in my source tree. lrwxrwxrwx 1 nenad users 8 Jul 2 10:58 isl - isl-0.10 drwxrwsr-x 7 nenad users4096 Jun 4 09:40 isl-0.10 Thank you. On 7/3/2012 3:12 AM, Richard Guenther wrote: The following fixes that. Tested with various combinations of in-tree/out-of-tree cloog/isl. Installed. Richard.
Re: [PATCH] Move Graphite from using PPL over to ISL
I updated my trunk and was able to build. No problems at all. Thank you. Nenad On 7/3/2012 3:12 AM, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Tue, 3 Jul 2012, Richard Guenther wrote: On Mon, 2 Jul 2012, Nenad Vukicevic wrote: On 6/27/2012 8:06 AM, Richard Guenther wrote: This merges from the graphite branch the move of PPL to ISL, and completes it where it was lacking - thanks to Micha. It leaves unmerged the addition of a pluto-like ISL optimizer as well as a bugfix for stride 1 which did not come with a testcase. With this patch (ontop of the one requiring ClooG 0.17.0) we will require ISL 0.10 for enabling Graphite. I've bootstrapped and built various combinations with in-tree and out-of-tree cloog and ISL, so I'm pretty confident that this works. With out-of-tree ClooG and ISL a slightly older patch ontop of its prerequesite passed bootstrap and testing on x86_64-unknown-linux-gnu. Currently re-bootstrapping and testing on x86_64-unknown-linux-gnu. Ok for trunk? After trying to build from the trunk I got this error on x86_64 platform: make[3]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog/test' CC generate_test.o cd ..; make libcloog-isl.la make[4]: Entering directory `/eng/upc/dev/nenad/bart/bld-trunk/cloog' CC libcloog_isl_la-domain.lo In file included from ../../gcc-trunk/cloog/include/cloog/isl/constraintset.h:4:0, from ../../gcc-trunk/cloog/include/cloog/isl/cloog.h:9, from ../../gcc-trunk/cloog/source/isl/domain.c:6: ../../gcc-trunk/cloog/include/cloog/isl/backend.h:4:28: fatal error: Looking again this is from the cloog build. If I repeat your tests (I suppose I didn't check non-bootstrap in-tree builds) it works just fine for me. The cloog/config.log should contain something like configure:11964: checking which isl to use configure:11966: result: system and all gcc invocations in the configury should have include paths set up to have the built isl/include first, then the source isl/include: configure:12073: gcc -c -g -O2 -I/abuild/rguenther/obj/./isl/include -I/space/rguenther/src/svn/trunk/isl/include conftest.c 5 Did you really unpack isl into the source tree as well? Ah, I see what might happen - if you forget to have isl inside the tree we disable graphite but cloog still gets built, but will fail. I'll see to fix that. Fixed with the following. I'll test it with some combinations of valid/invalid cloog/isl versions before installing. Hum. Ok, I installed the following, but in-tree builds seem to no longer work for some reason. CPPFLAGS get dropped in some way, even as they are present properly ... The following fixes that. Tested with various combinations of in-tree/out-of-tree cloog/isl. Installed. Richard. 2012-06-03 Richard Guenther rguent...@suse.de * Makfile.def (isl): Remove not necessary extra_exports and extra_make_flags. (cloog): Use $$CPPFLAGS instead of ${CPPFLAGS}. * Makefile.in: Regenerated. Index: Makefile.def === --- Makefile.def(revision 189209) +++ Makefile.def(working copy) @@ -63,13 +63,11 @@ host_modules= { module= mpc; lib_path=.l no_install= true; }; host_modules= { module= isl; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp'; - extra_exports='CPPFLAGS=${CPPFLAGS}; export CPPFLAGS; LDFLAGS=$$LDFLAGS; export LDFLAGS; '; - extra_make_flags='CPPFLAGS=${CPPFLAGS} LDFLAGS=$$LDFLAGS'; no_install= true; }; host_modules= { module= cloog; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared --with-gmp-library=$$r/$(HOST_SUBDIR)/gmp/.libs --with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-bits=gmp --with-isl=system'; - extra_exports='CPPFLAGS=-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include ${CPPFLAGS}; export CPPFLAGS; LDFLAGS=-L$$r/$(HOST_SUBDIR)/isl/.libs $$LDFLAGS; export LDFLAGS; '; - extra_make_flags='CPPFLAGS=${CPPFLAGS} LDFLAGS=$$LDFLAGS V=1'; + extra_exports='CPPFLAGS=-I$$r/$(HOST_SUBDIR)/isl/include -I$$s/isl/include $$CPPFLAGS; export CPPFLAGS; LDFLAGS=-L$$r/$(HOST_SUBDIR)/isl/.libs $$LDFLAGS; export LDFLAGS; '; + extra_make_flags='CPPFLAGS=$$CPPFLAGS LDFLAGS=$$LDFLAGS V=1'; no_install= true; }; host_modules= { module= libelf; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared';
Re: [PATCH] Move Graphite from using PPL over to ISL
On Thu, 28 Jun 2012, Diego Novillo wrote: On 12-06-27 11:06 , Richard Guenther wrote: 2012-06-27 Richard Guenther rguent...@suse.de Michael Matz m...@suse.de Tobias Grosser tob...@grosser.es Sebastian Pop seb...@gmail.com config/ * cloog.m4: Set up to work against ISL only. * isl.m4: New file. * Makefile.def: Add ISL host module, remove PPL host module. Adjust ClooG host module to use the proper ISL. * Makefile.tpl: Pass ISL include flags instead of PPL ones. * configure.ac: Include config/isl.m4. Add ISL host library, remove PPL. Remove PPL configury, add ISL configury, adjust ClooG configury. * Makefile.in: Regenerated. * configure: Likewise. gcc/ * Makefile.in: Remove PPL flags in favor of ISL ones. (BACKENDLIBS): Remove PPL libs. (INCLUDES): Remove PPL includes in favor of ISL ones. (graphite-clast-to-gimple.o): Remove graphite-dependences.h and graphite-cloog-compat.h dependencies. (graphite-dependences.o): Likewise. (graphite-poly.o): Likewise. * configure.ac: Declare ISL vars instead of PPL ones. * configure: Regenerated. * doc/install.texi: Replace PPL requirement documentation with ISL one. * graphite-blocking.c: Remove PPL code, add ISL equivalent. * graphite-clast-to-gimple.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-poly.h: Likewise. * graphite-poly.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * graphite-scop-detection.c: Re-arrange includes. * graphite-cloog-util.c: Remove. * graphite-cloog-util.h: Likewise. * graphite-ppl.h: Likewise. * graphite-ppl.c: Likewise. * graphite-dependences.h: Likewise. libgomp/ * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. OK. Committed. Richard.
Re: [PATCH] Move Graphite from using PPL over to ISL
On Mon, Jul 02, 2012 at 01:43:56PM +0200, Richard Guenther wrote: On Thu, 28 Jun 2012, Diego Novillo wrote: On 12-06-27 11:06 , Richard Guenther wrote: 2012-06-27 Richard Guenther rguent...@suse.de Michael Matz m...@suse.de Tobias Grosser tob...@grosser.es Sebastian Pop seb...@gmail.com config/ * cloog.m4: Set up to work against ISL only. * isl.m4: New file. * Makefile.def: Add ISL host module, remove PPL host module. Adjust ClooG host module to use the proper ISL. * Makefile.tpl: Pass ISL include flags instead of PPL ones. * configure.ac: Include config/isl.m4. Add ISL host library, remove PPL. Remove PPL configury, add ISL configury, adjust ClooG configury. * Makefile.in: Regenerated. * configure: Likewise. gcc/ * Makefile.in: Remove PPL flags in favor of ISL ones. (BACKENDLIBS): Remove PPL libs. (INCLUDES): Remove PPL includes in favor of ISL ones. (graphite-clast-to-gimple.o): Remove graphite-dependences.h and graphite-cloog-compat.h dependencies. (graphite-dependences.o): Likewise. (graphite-poly.o): Likewise. * configure.ac: Declare ISL vars instead of PPL ones. * configure: Regenerated. * doc/install.texi: Replace PPL requirement documentation with ISL one. * graphite-blocking.c: Remove PPL code, add ISL equivalent. * graphite-clast-to-gimple.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-poly.h: Likewise. * graphite-poly.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * graphite-scop-detection.c: Re-arrange includes. * graphite-cloog-util.c: Remove. * graphite-cloog-util.h: Likewise. * graphite-ppl.h: Likewise. * graphite-ppl.c: Likewise. * graphite-dependences.h: Likewise. libgomp/ * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. OK. Committed. Richard. Richard, At r189157, with isl 0.10 and cloog.org 0.17.0 installed from the infrastructure directory, I am seeing a configure failure with... $ ../gcc-4.8-20120702/configure --prefix=/sw --prefix=/sw/lib/gcc4.8 --mandir=/sw/share/man --infodir=/sw/lib/gcc4.8/info --enable-languages=c,c++,fortran,lto,objc,obj-c++,java --with-gmp=/sw --with-libiconv-prefix=/sw --with-isl=/sw --with-cloog=/sw --with-mpc=/sw --with-system-zlib --enable-checking=yes --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --program-suffix=-fsf-4.8 of... configure:5697: checking for version 0.10 of ISL configure:5725: gcc -o conftest -g -O2 -I/sw/include -I/sw/include -I/sw/include-L/sw/lib -lisl -lisl conftest.c 5 conftest.c:15:11: error: expected ';' at end of declaration int main() ^ ; 1 error generated. configure:5725: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME | #define PACKAGE_TARNAME | #define PACKAGE_VERSION | #define PACKAGE_STRING | #define PACKAGE_BUGREPORT | #define PACKAGE_URL | #define LT_OBJDIR .libs/ | /* end confdefs.h. */ | #include isl/version.h |#include string.h | int | main () | { | int main() |{ | if (strncmp (isl_version (), isl-0.10, strlen (isl-0.10)) != 0) |return 1; | return 0; |} | ; | return 0; | } configure:5735: result: no configure:5769: error: Unable to find a usable ISL. See config.log for details.
Re: [PATCH] Move Graphite from using PPL over to ISL
On Mon, Jul 02, 2012 at 09:37:20AM -0400, Jack Howarth wrote: On Mon, Jul 02, 2012 at 01:43:56PM +0200, Richard Guenther wrote: On Thu, 28 Jun 2012, Diego Novillo wrote: On 12-06-27 11:06 , Richard Guenther wrote: 2012-06-27 Richard Guenther rguent...@suse.de Michael Matz m...@suse.de Tobias Grosser tob...@grosser.es Sebastian Pop seb...@gmail.com config/ * cloog.m4: Set up to work against ISL only. * isl.m4: New file. * Makefile.def: Add ISL host module, remove PPL host module. Adjust ClooG host module to use the proper ISL. * Makefile.tpl: Pass ISL include flags instead of PPL ones. * configure.ac: Include config/isl.m4. Add ISL host library, remove PPL. Remove PPL configury, add ISL configury, adjust ClooG configury. * Makefile.in: Regenerated. * configure: Likewise. gcc/ * Makefile.in: Remove PPL flags in favor of ISL ones. (BACKENDLIBS): Remove PPL libs. (INCLUDES): Remove PPL includes in favor of ISL ones. (graphite-clast-to-gimple.o): Remove graphite-dependences.h and graphite-cloog-compat.h dependencies. (graphite-dependences.o): Likewise. (graphite-poly.o): Likewise. * configure.ac: Declare ISL vars instead of PPL ones. * configure: Regenerated. * doc/install.texi: Replace PPL requirement documentation with ISL one. * graphite-blocking.c: Remove PPL code, add ISL equivalent. * graphite-clast-to-gimple.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-poly.h: Likewise. * graphite-poly.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * graphite-scop-detection.c: Re-arrange includes. * graphite-cloog-util.c: Remove. * graphite-cloog-util.h: Likewise. * graphite-ppl.h: Likewise. * graphite-ppl.c: Likewise. * graphite-dependences.h: Likewise. libgomp/ * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. OK. Committed. Richard. Richard, At r189157, with isl 0.10 and cloog.org 0.17.0 installed from the infrastructure directory, I am seeing a configure failure with... $ ../gcc-4.8-20120702/configure --prefix=/sw --prefix=/sw/lib/gcc4.8 --mandir=/sw/share/man --infodir=/sw/lib/gcc4.8/info --enable-languages=c,c++,fortran,lto,objc,obj-c++,java --with-gmp=/sw --with-libiconv-prefix=/sw --with-isl=/sw --with-cloog=/sw --with-mpc=/sw --with-system-zlib --enable-checking=yes --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --program-suffix=-fsf-4.8 of... configure:5697: checking for version 0.10 of ISL configure:5725: gcc -o conftest -g -O2 -I/sw/include -I/sw/include -I/sw/include-L/sw/lib -lisl -lisl conftest.c 5 conftest.c:15:11: error: expected ';' at end of declaration int main() ^ ; 1 error generated. configure:5725: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME | #define PACKAGE_TARNAME | #define PACKAGE_VERSION | #define PACKAGE_STRING | #define PACKAGE_BUGREPORT | #define PACKAGE_URL | #define LT_OBJDIR .libs/ | /* end confdefs.h. */ | #include isl/version.h |#include string.h | int | main () | { | int main() |{ | if (strncmp (isl_version (), isl-0.10, strlen (isl-0.10)) != 0) |return 1; | return 0; |} | ; | return 0; | } configure:5735: result: no configure:5769: error: Unable to find a usable ISL. See config.log for details. Richard, Regenerating the top-level configure with 'autoconf -I. -I./config' at r189157 doesn't resolve the issue. Jack
Re: [PATCH] Move Graphite from using PPL over to ISL
On Mon, 2 Jul 2012, Jack Howarth wrote: On Mon, Jul 02, 2012 at 09:37:20AM -0400, Jack Howarth wrote: On Mon, Jul 02, 2012 at 01:43:56PM +0200, Richard Guenther wrote: On Thu, 28 Jun 2012, Diego Novillo wrote: On 12-06-27 11:06 , Richard Guenther wrote: 2012-06-27 Richard Guenther rguent...@suse.de Michael Matz m...@suse.de Tobias Grosser tob...@grosser.es Sebastian Pop seb...@gmail.com config/ * cloog.m4: Set up to work against ISL only. * isl.m4: New file. * Makefile.def: Add ISL host module, remove PPL host module. Adjust ClooG host module to use the proper ISL. * Makefile.tpl: Pass ISL include flags instead of PPL ones. * configure.ac: Include config/isl.m4. Add ISL host library, remove PPL. Remove PPL configury, add ISL configury, adjust ClooG configury. * Makefile.in: Regenerated. * configure: Likewise. gcc/ * Makefile.in: Remove PPL flags in favor of ISL ones. (BACKENDLIBS): Remove PPL libs. (INCLUDES): Remove PPL includes in favor of ISL ones. (graphite-clast-to-gimple.o): Remove graphite-dependences.h and graphite-cloog-compat.h dependencies. (graphite-dependences.o): Likewise. (graphite-poly.o): Likewise. * configure.ac: Declare ISL vars instead of PPL ones. * configure: Regenerated. * doc/install.texi: Replace PPL requirement documentation with ISL one. * graphite-blocking.c: Remove PPL code, add ISL equivalent. * graphite-clast-to-gimple.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-poly.h: Likewise. * graphite-poly.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * graphite-scop-detection.c: Re-arrange includes. * graphite-cloog-util.c: Remove. * graphite-cloog-util.h: Likewise. * graphite-ppl.h: Likewise. * graphite-ppl.c: Likewise. * graphite-dependences.h: Likewise. libgomp/ * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. OK. Committed. Richard. Richard, At r189157, with isl 0.10 and cloog.org 0.17.0 installed from the infrastructure directory, I am seeing a configure failure with... $ ../gcc-4.8-20120702/configure --prefix=/sw --prefix=/sw/lib/gcc4.8 --mandir=/sw/share/man --infodir=/sw/lib/gcc4.8/info --enable-languages=c,c++,fortran,lto,objc,obj-c++,java --with-gmp=/sw --with-libiconv-prefix=/sw --with-isl=/sw --with-cloog=/sw --with-mpc=/sw --with-system-zlib --enable-checking=yes --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --program-suffix=-fsf-4.8 of... configure:5697: checking for version 0.10 of ISL configure:5725: gcc -o conftest -g -O2 -I/sw/include -I/sw/include -I/sw/include-L/sw/lib -lisl -lisl conftest.c 5 conftest.c:15:11: error: expected ';' at end of declaration int main() ^ ; 1 error generated. configure:5725: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME | #define PACKAGE_TARNAME | #define PACKAGE_VERSION | #define PACKAGE_STRING | #define PACKAGE_BUGREPORT | #define PACKAGE_URL | #define LT_OBJDIR .libs/ | /* end confdefs.h. */ | #include isl/version.h |#include string.h | int | main () | { | int main() |{ | if (strncmp (isl_version (), isl-0.10, strlen (isl-0.10)) != 0) |return 1; | return 0; |} | ; | return 0; | } configure:5735: result: no configure:5769: error: Unable to find a usable ISL. See config.log for details. Richard, Regenerating the top-level configure with 'autoconf -I. -I./config' at r189157 doesn't resolve the issue. Yeah, I see the issue ;) Still my host compilers happily accept int main() { int main () {} } and do not error: configure:5697: checking for version 0.10 of ISL configure:5725: gcc -o conftest -g -lisl -lisl conftest.c 5 configure:5725: $? = 0 configure:5725: ./conftest configure:5725: $? = 0 configure:5735: result: yes I'll test a fix. Thanks, Richard.
Re: [PATCH] Move Graphite from using PPL over to ISL
On Mon, 2 Jul 2012, Richard Guenther wrote: On Mon, 2 Jul 2012, Jack Howarth wrote: On Mon, Jul 02, 2012 at 09:37:20AM -0400, Jack Howarth wrote: On Mon, Jul 02, 2012 at 01:43:56PM +0200, Richard Guenther wrote: On Thu, 28 Jun 2012, Diego Novillo wrote: On 12-06-27 11:06 , Richard Guenther wrote: 2012-06-27 Richard Guenther rguent...@suse.de Michael Matz m...@suse.de Tobias Grosser tob...@grosser.es Sebastian Pop seb...@gmail.com config/ * cloog.m4: Set up to work against ISL only. * isl.m4: New file. * Makefile.def: Add ISL host module, remove PPL host module. Adjust ClooG host module to use the proper ISL. * Makefile.tpl: Pass ISL include flags instead of PPL ones. * configure.ac: Include config/isl.m4. Add ISL host library, remove PPL. Remove PPL configury, add ISL configury, adjust ClooG configury. * Makefile.in: Regenerated. * configure: Likewise. gcc/ * Makefile.in: Remove PPL flags in favor of ISL ones. (BACKENDLIBS): Remove PPL libs. (INCLUDES): Remove PPL includes in favor of ISL ones. (graphite-clast-to-gimple.o): Remove graphite-dependences.h and graphite-cloog-compat.h dependencies. (graphite-dependences.o): Likewise. (graphite-poly.o): Likewise. * configure.ac: Declare ISL vars instead of PPL ones. * configure: Regenerated. * doc/install.texi: Replace PPL requirement documentation with ISL one. * graphite-blocking.c: Remove PPL code, add ISL equivalent. * graphite-clast-to-gimple.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-poly.h: Likewise. * graphite-poly.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * graphite-scop-detection.c: Re-arrange includes. * graphite-cloog-util.c: Remove. * graphite-cloog-util.h: Likewise. * graphite-ppl.h: Likewise. * graphite-ppl.c: Likewise. * graphite-dependences.h: Likewise. libgomp/ * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. OK. Committed. Richard. Richard, At r189157, with isl 0.10 and cloog.org 0.17.0 installed from the infrastructure directory, I am seeing a configure failure with... $ ../gcc-4.8-20120702/configure --prefix=/sw --prefix=/sw/lib/gcc4.8 --mandir=/sw/share/man --infodir=/sw/lib/gcc4.8/info --enable-languages=c,c++,fortran,lto,objc,obj-c++,java --with-gmp=/sw --with-libiconv-prefix=/sw --with-isl=/sw --with-cloog=/sw --with-mpc=/sw --with-system-zlib --enable-checking=yes --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --program-suffix=-fsf-4.8 of... configure:5697: checking for version 0.10 of ISL configure:5725: gcc -o conftest -g -O2 -I/sw/include -I/sw/include -I/sw/include-L/sw/lib -lisl -lisl conftest.c 5 conftest.c:15:11: error: expected ';' at end of declaration int main() ^ ; 1 error generated. configure:5725: $? = 1 configure: program exited with status 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME | #define PACKAGE_TARNAME | #define PACKAGE_VERSION | #define PACKAGE_STRING | #define PACKAGE_BUGREPORT | #define PACKAGE_URL | #define LT_OBJDIR .libs/ | /* end confdefs.h. */ | #include isl/version.h |#include string.h | int | main () | { | int main() |{ | if (strncmp (isl_version (), isl-0.10, strlen (isl-0.10)) != 0) |return 1; | return 0; |} | ; | return 0; | } configure:5735: result: no configure:5769: error: Unable to find a usable ISL. See config.log for details. Richard, Regenerating the top-level configure with 'autoconf -I. -I./config' at r189157 doesn't resolve the issue. Yeah, I see the issue ;) Still my host compilers happily accept int main() { int main () {} } and do not error: configure:5697: checking for version 0.10 of ISL configure:5725: gcc -o conftest -g -lisl -lisl conftest.c 5 configure:5725: $? = 0 configure:5725: ./conftest configure:5725: $? = 0 configure:5735: result: yes I'll test a fix. Like so. Richard. 2012-07-02 Richard Guenther rguent...@suse.de config/ * isl.m4 (_ISL_CHECK_CT_PROG): Omit main function header/footer. Fix version test. * configure:
Re: [PATCH] Move Graphite from using PPL over to ISL
On 06/27/2012 05:06 PM, Richard Guenther wrote: This merges from the graphite branch the move of PPL to ISL, and completes it where it was lacking - thanks to Micha. It leaves unmerged the addition of a pluto-like ISL optimizer as well as a bugfix for stride 1 which did not come with a testcase. With this patch (ontop of the one requiring ClooG 0.17.0) we will require ISL 0.10 for enabling Graphite. I've bootstrapped and built various combinations with in-tree and out-of-tree cloog and ISL, so I'm pretty confident that this works. With out-of-tree ClooG and ISL a slightly older patch ontop of its prerequesite passed bootstrap and testing on x86_64-unknown-linux-gnu. Currently re-bootstrapping and testing on x86_64-unknown-linux-gnu. Ok for trunk? Hi Richard, hi Micha, thanks a lot for pushing this forward. Especially the fast implementation of the interchange heuristic was impressive! I am fine with the general goal and think the patch is close to get in, but I would like to give feedback on the interchange heuristic. I will try to review it today or tomorrow. Thanks again!! Tobias
Re: [PATCH] Move Graphite from using PPL over to ISL
On 12-06-27 11:06 , Richard Guenther wrote: 2012-06-27 Richard Guenther rguent...@suse.de Michael Matz m...@suse.de Tobias Grosser tob...@grosser.es Sebastian Pop seb...@gmail.com config/ * cloog.m4: Set up to work against ISL only. * isl.m4: New file. * Makefile.def: Add ISL host module, remove PPL host module. Adjust ClooG host module to use the proper ISL. * Makefile.tpl: Pass ISL include flags instead of PPL ones. * configure.ac: Include config/isl.m4. Add ISL host library, remove PPL. Remove PPL configury, add ISL configury, adjust ClooG configury. * Makefile.in: Regenerated. * configure: Likewise. gcc/ * Makefile.in: Remove PPL flags in favor of ISL ones. (BACKENDLIBS): Remove PPL libs. (INCLUDES): Remove PPL includes in favor of ISL ones. (graphite-clast-to-gimple.o): Remove graphite-dependences.h and graphite-cloog-compat.h dependencies. (graphite-dependences.o): Likewise. (graphite-poly.o): Likewise. * configure.ac: Declare ISL vars instead of PPL ones. * configure: Regenerated. * doc/install.texi: Replace PPL requirement documentation with ISL one. * graphite-blocking.c: Remove PPL code, add ISL equivalent. * graphite-clast-to-gimple.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-poly.h: Likewise. * graphite-poly.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * graphite-scop-detection.c: Re-arrange includes. * graphite-cloog-util.c: Remove. * graphite-cloog-util.h: Likewise. * graphite-ppl.h: Likewise. * graphite-ppl.c: Likewise. * graphite-dependences.h: Likewise. libgomp/ * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. OK. Diego.