On x86_64-apple-darwin14, the attached patch allows gcc trunk to
build against isl 0.14. I assume if we want to retain the...

#if defined(__cplusplus)
extern "C" {
#endif

#if defined(__cplusplus)
}
#endif

wrappers around the include of  isl/val_gmp.h, to continue to support
isl 0.12.2, isl.m4 will need to test for isl <= 0.12.2 and set a
define in autohost.h that can be added to the conditional on
_cplusplus. The same define would have to be used in a conditional for
selecting code changes required for using...

if (isl_band_member_is_zero_distance (Band, i))

in gcc/graphite-optimize-isl.c for isl <= 0.12.2 rather than...

if (isl_band_member_is_coincident (Band, i))

and the other associated changes for isl >  0.12.2.
            Jack
ps The changes in gcc/graphite-optimize-isl.c are modelled on those in
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191650#c6.

pps The test suite results for "make -k check
RUNTESTFLAGS="graphite.exp --target_board=unix'{-m32,-m64}'"" are...

LAST_UPDATED: Obtained from SVN: trunk revision 217269

Native configuration is x86_64-apple-darwin13.4.0

=== g++ tests ===

Running target unix/-m32

=== g++ Summary for unix/-m32 ===

# of expected passes 27

Running target unix/-m64

=== g++ Summary for unix/-m64 ===

# of expected passes 27

=== g++ Summary ===

# of expected passes 54
/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/g++/../../xg++
 version 5.0.0 20141109 (experimental) (GCC)

=== gcc tests ===

Running target unix/-m32
FAIL: gcc.dg/graphite/vect-pr43423.c scan-tree-dump-times vect
"vectorized 2 loops" 1
UNRESOLVED: gcc.dg/graphite/isl-codegen-loop-dumping.c
scan-tree-dump-times graphite "ISL AST generated by ISL: \\nfor
\\\\(int c1 = 0; c1 < n - 1; c1 \\\\+= 1\\\\)\\n  for \\\\(int c3 = 0;
c3 < n; c3 \\\\+= 1\\\\)\\n    S_4\\\\(c1, c3\\\\);" 1

=== gcc Summary for unix/-m32 ===

# of expected passes 299
# of unexpected failures 1
# of expected failures 4
# of unresolved testcases 1
# of unsupported tests 5

Running target unix/-m64
FAIL: gcc.dg/graphite/vect-pr43423.c scan-tree-dump-times vect
"vectorized 2 loops" 1
UNRESOLVED: gcc.dg/graphite/isl-codegen-loop-dumping.c
scan-tree-dump-times graphite "ISL AST generated by ISL: \\nfor
\\\\(int c1 = 0; c1 < n - 1; c1 \\\\+= 1\\\\)\\n  for \\\\(int c3 = 0;
c3 < n; c3 \\\\+= 1\\\\)\\n    S_4\\\\(c1, c3\\\\);" 1

=== gcc Summary for unix/-m64 ===

# of expected passes 299
# of unexpected failures 1
# of expected failures 4
# of unresolved testcases 1
# of unsupported tests 5

=== gcc Summary ===

# of expected passes 598
# of unexpected failures 2
# of expected failures 8
# of unresolved testcases 2
# of unsupported tests 10
/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/xgcc  version
5.0.0 20141109 (experimental) (GCC)

=== gfortran tests ===

Running target unix/-m32

=== gfortran Summary for unix/-m32 ===

# of expected passes 112
# of expected failures 14

Running target unix/-m64

=== gfortran Summary for unix/-m64 ===

# of expected passes 110
# of expected failures 14
# of unsupported tests 2

=== gfortran Summary ===

# of expected passes 222
# of expected failures 28
# of unsupported tests 2
/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/gfortran/../../gfortran
 version 5.0.0 20141109 (experimental) (GCC)

=== libgomp tests ===

Running target unix/-m32

=== libgomp Summary for unix/-m32 ===

# of expected passes 49

Running target unix/-m64

=== libgomp Summary for unix/-m64 ===

# of expected passes 49

=== libgomp Summary ===

# of expected passes 98

Compiler version: 5.0.0 20141109 (experimental) (GCC)
Platform: x86_64-apple-darwin13.4.0
configure flags: --prefix=/sw --prefix=/sw/lib/gcc5.0
--mandir=/sw/share/man --infodir=/sw/lib/gcc5.0/info
--enable-languages=c,c++,fortran,lto,objc,obj-c++,java --with-gmp=/sw
--with-libiconv-prefix=/sw --with-isl=/sw --without-cloog
--with-mpc=/sw --with-system-zlib --x-includes=/usr/X11R6/include
--x-libraries=/usr/X11R6/lib --program-suffix=-fsf-5.0


On Mon, Nov 10, 2014 at 2:27 PM, Jack Howarth <howarth.at....@gmail.com> wrote:
>      Is the current isl 0.12.2 in infrastructure entirely sufficient
> to replace cloog-isl. or should the ABI compatibility changes be made
> to graphite to allow gcc 5.0 to be transitioned to the isl 0.14
> release? Especially if any graphite changes might be made before the
> gcc 5.0 release that could leverage new functionalities in isl 0.14.
>             Jack
>
>
> On Sun, Nov 9, 2014 at 12:16 PM, Roman Gareev <gareevro...@gmail.com> wrote:
>> Hi Tobias,
>>
>> I've attached a patch which removes using of CLooG library from
>> Graphite. Is it fine for trunk?
>>
>>
>> --
>>                                     Cheers, Roman Gareev.
Index: gcc/graphite-interchange.c
===================================================================
--- gcc/graphite-interchange.c  (revision 217330)
+++ gcc/graphite-interchange.c  (working copy)
@@ -30,13 +30,7 @@ along with GCC; see the file COPYING3.  
 #include <isl/union_map.h>
 #include <isl/ilp.h>
 #include <isl/val.h>
-#if defined(__cplusplus)
-extern "C" {
-#endif
 #include <isl/val_gmp.h>
-#if defined(__cplusplus)
-}
-#endif
 #ifdef HAVE_cloog
 #include <cloog/cloog.h>
 #include <cloog/isl/domain.h>
Index: gcc/graphite-isl-ast-to-gimple.c
===================================================================
--- gcc/graphite-isl-ast-to-gimple.c    (revision 217330)
+++ gcc/graphite-isl-ast-to-gimple.c    (working copy)
@@ -25,13 +25,7 @@ along with GCC; see the file COPYING3.  
 #include <isl/map.h>
 #include <isl/union_map.h>
 #include <isl/ast_build.h>
-#if defined(__cplusplus)
-extern "C" {
-#endif
 #include <isl/val_gmp.h>
-#if defined(__cplusplus)
-}
-#endif
 #endif
 
 #include "system.h"
Index: gcc/graphite-optimize-isl.c
===================================================================
--- gcc/graphite-optimize-isl.c (revision 217330)
+++ gcc/graphite-optimize-isl.c (working copy)
@@ -354,7 +354,7 @@ getScheduleForBandList (isl_band_list *B
        {
          for (i = ScheduleDimensions - 1 ;  i >= 0 ; i--)
            {
-             if (isl_band_member_is_zero_distance (Band, i))
+             if (isl_band_member_is_coincident (Band, i))
                {
                  isl_map *TileMap;
                  isl_union_map *TileUMap;
@@ -426,6 +426,7 @@ optimize_isl (scop_p scop)
 {
 
   isl_schedule *schedule;
+  isl_schedule_constraints *schedule_constraints;
   isl_union_set *domain;
   isl_union_map *validity, *proximity, *dependences;
   isl_union_map *schedule_map;
@@ -440,11 +441,16 @@ optimize_isl (scop_p scop)
 
   proximity = isl_union_map_copy (validity);
 
+  schedule_constraints = isl_schedule_constraints_on_domain(domain);
+  schedule_constraints = 
isl_schedule_constraints_set_proximity(schedule_constraints, proximity);
+  schedule_constraints = 
isl_schedule_constraints_set_validity(schedule_constraints, 
isl_union_map_copy(validity));
+  schedule_constraints = 
isl_schedule_constraints_set_coincidence(schedule_constraints, validity);
+
   isl_options_set_schedule_max_constant_term (scop->ctx, CONSTANT_BOUND);
   isl_options_set_schedule_maximize_band_depth (scop->ctx, 1);
   isl_options_set_schedule_fuse (scop->ctx, ISL_SCHEDULE_FUSE_MIN);
   isl_options_set_on_error (scop->ctx, ISL_ON_ERROR_CONTINUE);
-  schedule = isl_union_set_compute_schedule (domain, validity, proximity);
+  schedule = isl_schedule_constraints_compute_schedule(schedule_constraints);
   isl_options_set_on_error (scop->ctx, ISL_ON_ERROR_ABORT);
 
   if (!schedule)
Index: gcc/graphite-poly.c
===================================================================
--- gcc/graphite-poly.c (revision 217330)
+++ gcc/graphite-poly.c (working copy)
@@ -29,13 +29,7 @@ along with GCC; see the file COPYING3.  
 #include <isl/ilp.h>
 #include <isl/aff.h>
 #include <isl/val.h>
-#if defined(__cplusplus)
-extern "C" {
-#endif
 #include <isl/val_gmp.h>
-#if defined(__cplusplus)
-}
-#endif
 #endif
 
 #include "system.h"
Index: gcc/graphite-sese-to-poly.c
===================================================================
--- gcc/graphite-sese-to-poly.c (revision 217330)
+++ gcc/graphite-sese-to-poly.c (working copy)
@@ -31,13 +31,7 @@ along with GCC; see the file COPYING3.  
    Missing from  isl/val_gmp.h in isl 0.12 versions.
    Appearing in isl/val_gmp.h in isl 0.13.
    To be removed when passing to isl 0.13. */
-#if defined(__cplusplus)
-extern "C" {
-#endif
 #include <isl/val_gmp.h>
-#if defined(__cplusplus)
-}
-#endif
 #endif
 
 #include "system.h"

Reply via email to