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.