From patchwork Tue Nov 11 01:40:42 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jack Howarth X-Patchwork-Id: 409162 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id ADD7A14010C for ; Tue, 11 Nov 2014 12:40:56 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; q=dns; s=default; b=imP0p75d8eUmanAAXG YjVP95JC6PCvnGmOTQRzTrsux3KeJAkAxImy3OybZPc+8WOdzSTx03U/G5IgLwY3 +kwL/1/NJPu1Un6T/l/c8aZEIMVgbhgW76HIbeq/oDgARCRRPMbK141r1LaoeLOp lYcvpUxA4yxEoayKyHIBOeqls= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; s=default; bh=4ZtYh+Wre/m+FXWAHg2YaXXa dOc=; b=n57qHlcslt2uMfpuaVvdhcPyJ7l4a18bZGsTta7DbILUk1uPykQyAoqX Jcqdy98VKHQ60NW0ckwpGc5d5HZW23NKvg4uFI5uE1RWI3YZtF7NQvHrDwe6p4lY 1HT74wYqJVGEAO8YTzKJ8OseWZHUlgN8BuZSUXZfjQZyI8vfUsM= Received: (qmail 30934 invoked by alias); 11 Nov 2014 01:40:48 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 30912 invoked by uid 89); 11 Nov 2014 01:40:47 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-ob0-f176.google.com Received: from mail-ob0-f176.google.com (HELO mail-ob0-f176.google.com) (209.85.214.176) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 11 Nov 2014 01:40:45 +0000 Received: by mail-ob0-f176.google.com with SMTP id va2so6611584obc.7 for ; Mon, 10 Nov 2014 17:40:43 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.202.201.137 with SMTP id z131mr4705205oif.70.1415670042977; Mon, 10 Nov 2014 17:40:42 -0800 (PST) Received: by 10.76.177.68 with HTTP; Mon, 10 Nov 2014 17:40:42 -0800 (PST) In-Reply-To: References: <20141104151755.GA13200@physik.fu-berlin.de> <545AB53E.5080808@grosser.es> <545B1D00.6060605@grosser.es> <545BD2F8.1050104@grosser.es> <545E768A.9000101@grosser.es> Date: Mon, 10 Nov 2014 20:40:42 -0500 Message-ID: Subject: Re: RFC: Update ISL under gcc/infrastructure/ ? // Remove CLooG? From: Jack Howarth To: Roman Gareev Cc: Tobias Grosser , tobias.burnus@physik.fu-berlin.de, Richard Biener , Albert Cohen , skimo@kotnet.org, Mircea Namolaru , GCC Patches X-IsSubscribed: yes 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 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 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 #include #include -#if defined(__cplusplus) -extern "C" { -#endif #include -#if defined(__cplusplus) -} -#endif #ifdef HAVE_cloog #include #include 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 #include #include -#if defined(__cplusplus) -extern "C" { -#endif #include -#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 #include #include -#if defined(__cplusplus) -extern "C" { -#endif #include -#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 -#if defined(__cplusplus) -} -#endif #endif #include "system.h"