This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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  <rguenther@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"
+ fi
+ 
  # Check for LTO support.
  AC_ARG_ENABLE(lto,
  [AS_HELP_STRING([--enable-lto], [enable link time optimization support])],
Index: Makefile.def
===================================================================
*** Makefile.def	(revision 189203)
--- Makefile.def	(working copy)
*************** host_modules= { module= isl; lib_path=.l
*** 69,75 ****
  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; };
  host_modules= { module= libelf; lib_path=.libs; bootstrap=true;
  		extra_configure_flags='--disable-shared';
--- 69,75 ----
  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';
  		no_install= true; };
  host_modules= { module= libelf; lib_path=.libs; bootstrap=true;
  		extra_configure_flags='--disable-shared';


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]