[PATCH] Move Graphite from using PPL over to ISL

Richard Guenther rguenther@suse.de
Tue Jul 3 08:55:00 GMT 2012


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  <rguenther@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])],



More information about the Gcc-patches mailing list