CLooG 0.16 / 1.0 release?

0 views
Skip to first unread message

Tobias Grosser

unread,
Dec 22, 2010, 10:43:31 AM12/22/10
to CLooG Development, GCC GRAPHITE
Hi,

Sebastian tested CLooG-isl over the last couple of weeks in gcc and it
seems to be stable enough to be the cloog used in gcc/graphite for the
upcoming release. We therefore would like to ask, if it is possible to
create an official cloog 0.16 release in the next couple of weeks (6-12)
and maybe a cloog release candidate earlier.

As soon as there is a tar package we can put on the gcc ftp
infrastructure we can switch the default CLooG version in gcc trunk.

Are there any changes left you still want to push into this CLooG
release? I also heard once, you planned to call the release 1.0? What
is your general opinion about this?

Any comments highly appreciated

Tobi

Sven Verdoolaege

unread,
Dec 22, 2010, 11:45:22 AM12/22/10
to Tobias Grosser, CLooG Development, GCC GRAPHITE
On Wed, Dec 22, 2010 at 10:43:31AM -0500, Tobias Grosser wrote:
> Are there any changes left you still want to push into this CLooG

Do you want your recent isl changes to go in?
If so, I would probably create an isl release first.

> release? I also heard once, you planned to call the release 1.0?

Cedric mentioned that, but I think the old interface should be
disabled before the 1.0 release. Speaking of which, is graphite
still using the old interface? If so, when are you planning on
changing that? I'd like to repeat that as far as I am concerned,
the old interface is not supported.

skimo

Tobias Grosser

unread,
Dec 22, 2010, 11:49:34 AM12/22/10
to sk...@kotnet.org, Sven Verdoolaege, CLooG Development, GCC GRAPHITE
On 12/22/2010 11:45 AM, Sven Verdoolaege wrote:
> On Wed, Dec 22, 2010 at 10:43:31AM -0500, Tobias Grosser wrote:
>> Are there any changes left you still want to push into this CLooG
>
> Do you want your recent isl changes to go in?
> If so, I would probably create an isl release first.
>

Would be nice. If we could release after the gdb pretty printing is in
that would be great.

>> release? I also heard once, you planned to call the release 1.0?
>
> Cedric mentioned that, but I think the old interface should be
> disabled before the 1.0 release. Speaking of which, is graphite
> still using the old interface? If so, when are you planning on
> changing that? I'd like to repeat that as far as I am concerned,
> the old interface is not supported.

We still use it, as we still support cloog-ppl. As soon as the cloog-isl
release is out we gonna switch to the new interface. So hopefully the
next gcc release will only use the new interface.

Cheers
Tobi

Tobias Grosser

unread,
Dec 22, 2010, 12:29:34 PM12/22/10
to cloog-de...@googlegroups.com, GCC GRAPHITE, Sven Verdoolaege

What about having a 0.16 release in the next couple of weeks as some
kind of pre release. We can than switch gcc officially to isl and ask
people to test. After this switch has settled we will move to the new
interface such that the next official gcc release will use the new
interface. Together with gcc 4.6 we can than release cloog 1.0?

What do you think about this?

@Sebastian: How much time do we have for the upcoming gcc 4.6 release?

Cheers
Tobi

Sven Verdoolaege

unread,
Dec 22, 2010, 1:01:13 PM12/22/10
to Tobias Grosser, cloog-de...@googlegroups.com, GCC GRAPHITE
On Wed, Dec 22, 2010 at 12:29:34PM -0500, Tobias Grosser wrote:
> What about having a 0.16 release in the next couple of weeks as some
> kind of pre release. We can than switch gcc officially to isl and
> ask people to test. After this switch has settled we will move to
> the new interface such that the next official gcc release will use
> the new interface. Together with gcc 4.6 we can than release cloog
> 1.0?

Wouldn't you need to test the new interface too?

skimo

Tobias Grosser

unread,
Dec 22, 2010, 1:03:26 PM12/22/10
to sk...@kotnet.org, Sven Verdoolaege, cloog-de...@googlegroups.com, GCC GRAPHITE

Sure. I hope we can do the testing with the 0.16 release. It still
already has the new interface. If this does not work out, we can still
stay with the old interface and target 4.7 for the new one. In any case
I agree with you that cloog 1.0 should be released with the new
interface only.

Tobi

Sebastian Pop

unread,
Dec 22, 2010, 1:31:51 PM12/22/10
to Tobias Grosser, cloog-de...@googlegroups.com, GCC GRAPHITE, Sven Verdoolaege
On Wed, Dec 22, 2010 at 11:29, Tobias Grosser <gro...@fim.uni-passau.de> wrote:
> @Sebastian: How much time do we have for the upcoming gcc 4.6 release?

From previous GCC releases, I would say that we still have about 2 more months.

Cédric Bastoul

unread,
Dec 22, 2010, 1:32:52 PM12/22/10
to Tobias Grosser, sk...@kotnet.org, Sven Verdoolaege, cloog-de...@googlegroups.com, GCC GRAPHITE
I agree on both points: 0.16 release when we want and 1.0 when the old interface is gone (and probably some additional work will be done on my side).

Sebastian Pop

unread,
Dec 22, 2010, 1:41:01 PM12/22/10
to Cédric Bastoul, Tobias Grosser, sk...@kotnet.org, Sven Verdoolaege, cloog-de...@googlegroups.com, GCC GRAPHITE

Ok, then let's release 0.16 today and I will do the testing over the holidays.
I would need a tar.gz file of the release to upload on the
gcc/infrastructure ftp.

Thanks,
Sebastian

Tobias Grosser

unread,
Dec 22, 2010, 1:43:24 PM12/22/10
to Sebastian Pop, Cédric Bastoul, sk...@kotnet.org, Sven Verdoolaege, cloog-de...@googlegroups.com, GCC GRAPHITE
On 12/22/2010 01:41 PM, Sebastian Pop wrote:

I am OK with this. Sven, do you think we can get the latest isl patches
in (those that where about pointer comparisons). No need to have the
pretty printer included.

Cheers
Tobi

Sven Verdoolaege

unread,
Dec 22, 2010, 2:04:30 PM12/22/10
to Sebastian Pop, Cédric Bastoul, Tobias Grosser, cloog-de...@googlegroups.com, GCC GRAPHITE
On Wed, Dec 22, 2010 at 12:41:01PM -0600, Sebastian Pop wrote:
> Ok, then let's release 0.16 today and I will do the testing over the holidays.

Give me a couple of days do release a new isl version first.

skimo

Sven Verdoolaege

unread,
Dec 23, 2010, 7:09:41 AM12/23/10
to Tobias Grosser, CLooG Development, GCC GRAPHITE
On Wed, Dec 22, 2010 at 10:43:31AM -0500, Tobias Grosser wrote:
> Are there any changes left you still want to push into this CLooG
> release?

Did you still want libtool version info (I suppose 1:0:0)
and a rename of libcloog-ppl to libcloog-parma?

skimo

Johan

unread,
Dec 23, 2010, 7:39:13 AM12/23/10
to sk...@kotnet.org, CLooG Development
I have found possibly a bug within cloog.
The attached input file has 2 domains, the constraints of the 2nd are
fully included in the 1st. This specific input crashes cloog. If I
remove either one of the domains, all is well.

Regards,

Johan Walters


bugcloog.txt

Sven Verdoolaege

unread,
Dec 23, 2010, 8:39:05 AM12/23/10
to Johan, CLooG Development
From 5f589b3601104f8f2acb6307c5945318c75c8fad Mon Sep 17 00:00:00 2001
From: Sven Verdoolaege <sk...@kotnet.org>
Date: Thu, 23 Dec 2010 14:28:48 +0100
Subject: [PATCH] cloog_loop_restrict_inner: drop loops with empty inner loops

There is no point generating code for loops without inner loops
and cloog_loop_specialize expects all loops to have one or more
inner loops.

Reported-by: Johan <jwal...@compaandesign.com>
Signed-off-by: Sven Verdoolaege <sk...@kotnet.org>
---

On Thu, Dec 23, 2010 at 01:39:13PM +0100, Johan wrote:
> I have found possibly a bug within cloog.

A segmentation fault is always a bug.

> The attached input file has 2 domains, the constraints of the 2nd are
> fully included in the 1st. This specific input crashes cloog. If I
> remove either one of the domains, all is well.

Thanks for the report. In future, please specify which version of CLooG
you are using. This patch should help.

skimo

source/loop.c | 29 +++++++++++++++++++++++++----
test/Makefile.am | 1 +
test/walters3.c | 8 ++++++++
test/walters3.cloog | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
test/walters3.good.c | 24 ++++++++++++++++++++++++
5 files changed, 107 insertions(+), 4 deletions(-)
create mode 100644 test/walters3.c
create mode 100644 test/walters3.cloog
create mode 100644 test/walters3.good.c

diff --git a/source/loop.c b/source/loop.c
index 1a73a7f..870dca6 100644
--- a/source/loop.c
+++ b/source/loop.c
@@ -626,14 +626,35 @@ CloogLoop *cloog_loop_restrict_all(CloogLoop *loop, CloogDomain *context)
return res;
}

+
+/**
+ * Restrict the domains of the inner loops of each loop l in the given
+ * list of loops to the domain of the loop l. If the domains of all
+ * inner loops of a given loop l turn out to be empty, then remove l
+ * from the list.
+ */
CloogLoop *cloog_loop_restrict_inner(CloogLoop *loop)
{
- CloogLoop *l;
+ CloogLoop *next;
+ CloogLoop *res;
+ CloogLoop **res_next = &res;

- for (l = loop; l; l = l->next)
- l->inner = cloog_loop_restrict_all(l->inner, l->domain);
+ for (; loop; loop = next) {
+ next = loop->next;

- return loop;
+ loop->inner = cloog_loop_restrict_all(loop->inner, loop->domain);
+ if (loop->inner) {
+ *res_next = loop;
+ res_next = &(*res_next)->next;
+ } else {
+ loop->next = NULL;
+ cloog_loop_free(loop);
+ }
+ }
+
+ *res_next = NULL;
+
+ return res;
}

/**
diff --git a/test/Makefile.am b/test/Makefile.am
index afd0316..e6682f2 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -127,6 +127,7 @@ FINITE_CLOOGTEST_C = \
vivien2 \
walters \
walters2 \
+ walters3 \
wavefront \
yosr \
yosr2 \
diff --git a/test/walters3.c b/test/walters3.c
new file mode 100644
index 0000000..fc922d6
--- /dev/null
+++ b/test/walters3.c
@@ -0,0 +1,8 @@
+/* Generated from ../../../git/cloog/test/walters3.cloog by CLooG 0.14.0-338-g99c7504 gmp bits in 0.00s. */
+for (j=2;j<=8;j++) {
+ if (j%2 == 0) {
+ S1(j,j/2,j/2);
+ S2(j,j/2,j/2);
+ }
+}
+S2(10,5,5);
diff --git a/test/walters3.cloog b/test/walters3.cloog
new file mode 100644
index 0000000..fb45ab0
--- /dev/null
+++ b/test/walters3.cloog
@@ -0,0 +1,49 @@
+# language: C
+c
+
+# parameters
+1 2
+1 1
+ 1
+
+
+2
+
+1
+15 5
+ 1 -1 0 0 10
+ 1 -1 0 0 8
+ 1 -1 0 2 1
+ 1 1 0 -2 0
+ 1 -1 0 2 0
+ 1 0 0 1 -1
+ 1 1 -2 0 0
+ 1 -1 2 0 1
+ 1 1 0 0 -1
+ 1 -1 0 0 10
+ 0 1 -2 0 0
+ 1 1 -2 0 0
+ 1 -1 2 0 1
+ 1 1 0 -2 0
+ 1 -1 0 2 1
+ 0 0 0
+
+
+
+1
+7 5
+ 1 1 0 0 -1
+ 1 -1 0 0 10
+ 0 1 -2 0 0
+ 1 1 -2 0 0
+ 1 -1 2 0 1
+ 1 1 0 -2 0
+ 1 -1 0 2 1
+ 0 0 0
+
+
+ 1
+ j a b
+ #-------- SCATTERING -------------
+ 0 # no scattering function
+
diff --git a/test/walters3.good.c b/test/walters3.good.c
new file mode 100644
index 0000000..45a1b33
--- /dev/null
+++ b/test/walters3.good.c
@@ -0,0 +1,24 @@
+/* Generated from ../../../git/cloog/test/walters3.cloog by CLooG 0.14.0-338-g99c7504 gmp bits in 0.00s. */
+extern void hash(int);
+
+/* Useful macros. */
+#define floord(n,d) (((n)<0) ? -((-(n)+(d)-1)/(d)) : (n)/(d))
+#define ceild(n,d) (((n)<0) ? -((-(n))/(d)) : ((n)+(d)-1)/(d))
+#define max(x,y) ((x) > (y) ? (x) : (y))
+#define min(x,y) ((x) < (y) ? (x) : (y))
+
+#define S1(j,a,b) { hash(1); hash(j); hash(a); hash(b); }
+#define S2(j,a,b) { hash(2); hash(j); hash(a); hash(b); }
+
+void test()
+{
+ /* Original iterators. */
+ int j, a, b;
+ for (j=2;j<=8;j++) {
+ if (j%2 == 0) {
+ S1(j,j/2,j/2);
+ S2(j,j/2,j/2);
+ }
+ }
+ S2(10,5,5);
+}
--
1.7.3.3.398.g0b0cd

Sven Verdoolaege

unread,
Dec 23, 2010, 11:46:50 AM12/23/10
to Sebastian Pop, Cédric Bastoul, Tobias Grosser, cloog-de...@googlegroups.com, GCC GRAPHITE

I pushed out isl-0.05.
I'll wait for an answer to the questions I asked earlier
today before tagging cloog-0.16.

skimo

Sven Verdoolaege

unread,
Dec 24, 2010, 9:08:40 AM12/24/10
to Tobias Grosser, Cédric Bastoul, CLooG Development, GCC GRAPHITE
On Thu, Dec 23, 2010 at 01:09:41PM +0100, Sven Verdoolaege wrote:
> On Wed, Dec 22, 2010 at 10:43:31AM -0500, Tobias Grosser wrote:
> > Are there any changes left you still want to push into this CLooG
> > release?
>
> Did you still want libtool version info (I suppose 1:0:0)

I did it anyway. cloog-0.16.0 is out.
Cedric, please copy it from http://www.kotnet.org/~skimo/cloog/

> and a rename of libcloog-ppl to libcloog-parma?

We can still decide that later when I create cloog-parma-0.16.0

skimo

Tobias Grosser

unread,
Dec 24, 2010, 10:16:40 AM12/24/10
to sk...@kotnet.org, Sven Verdoolaege, Cedric Bastoul, CLooG Development, GCC GRAPHITE
On 12/24/2010 09:08 AM, Sven Verdoolaege wrote:
> On Thu, Dec 23, 2010 at 01:09:41PM +0100, Sven Verdoolaege wrote:
>> On Wed, Dec 22, 2010 at 10:43:31AM -0500, Tobias Grosser wrote:
>>> Are there any changes left you still want to push into this CLooG
>>> release?
>>
>> Did you still want libtool version info (I suppose 1:0:0)
>
> I did it anyway. cloog-0.16.0 is out.
> Cedric, please copy it from http://www.kotnet.org/~skimo/cloog/

Hi Sven,

great.

>> and a rename of libcloog-ppl to libcloog-parma?
>
> We can still decide that later when I create cloog-parma-0.16.0

I have no strong opinion about this. Or actually I do not know what I
want. I believe renaming libcloog-ppl to libcloog-parma will probably
change this name forever.

Maybe it's sufficient to bump the .so file version for the debian guys.
I believe 1:0:0 is what we want.

Thanks a lot
Tobi

Johan

unread,
Dec 24, 2010, 8:20:55 AM12/24/10
to sk...@kotnet.org, CLooG Development
Thank you for your solution, it works on the input.

However I found another bug (crash) on the input attached...
It seems my generated input is triggering some corner cases.

Regards,

Johan

bugcloog2.txt

Sebastian Pop

unread,
Dec 24, 2010, 2:00:18 PM12/24/10
to Tobias Grosser, sk...@kotnet.org, Sven Verdoolaege, Cedric Bastoul, CLooG Development, GCC GRAPHITE
On Fri, Dec 24, 2010 at 09:16, Tobias Grosser <gro...@fim.uni-passau.de> wrote:
> On 12/24/2010 09:08 AM, Sven Verdoolaege wrote:
>>
>> On Thu, Dec 23, 2010 at 01:09:41PM +0100, Sven Verdoolaege wrote:
>>>
>>> On Wed, Dec 22, 2010 at 10:43:31AM -0500, Tobias Grosser wrote:
>>>>
>>>> Are there any changes left you still want to push into this CLooG
>>>> release?
>>>
>>> Did you still want libtool version info (I suppose 1:0:0)
>>
>> I did it anyway.  cloog-0.16.0 is out.
>> Cedric, please copy it from http://www.kotnet.org/~skimo/cloog/
>
> Hi Sven,
>
> great.
>
>>> and a rename of libcloog-ppl to libcloog-parma?
>>
>> We can still decide that later when I create cloog-parma-0.16.0
>
> I have no strong opinion about this. Or actually I do not know what I want.
> I believe renaming libcloog-ppl to libcloog-parma will probably change this
> name forever.
>

I would prefer libcloog-ppl as PPL is the polyhedral backend.

Sebastian

Sven Verdoolaege

unread,
Dec 25, 2010, 9:26:31 AM12/25/10
to Johan, CLooG Development
On Fri, Dec 24, 2010 at 02:20:55PM +0100, Johan wrote:
> Thank you for your solution, it works on the input.
>
> However I found another bug (crash) on the input attached...

It doesn't crash for me. It just (correctly) complains about
invalid input.

skimo

Sven Verdoolaege

unread,
Dec 25, 2010, 2:02:32 PM12/25/10
to Sebastian Pop, Tobias Grosser, Cedric Bastoul, CLooG Development, GCC GRAPHITE
On Fri, Dec 24, 2010 at 01:00:18PM -0600, Sebastian Pop wrote:
> I would prefer libcloog-ppl as PPL is the polyhedral backend.

OK, so nothing changes. cloog-parma-0.16.0 pushed out too.

skimo

Sebastian Pop

unread,
Dec 25, 2010, 2:10:40 PM12/25/10
to sk...@kotnet.org, Tobias Grosser, Cedric Bastoul, CLooG Development, GCC GRAPHITE

Thanks. I am testing the two packages right now and I will report
if I find something broken.

Sebastian

Sven Verdoolaege

unread,
Jan 2, 2011, 7:26:20 AM1/2/11
to Sebastian Pop, Tobias Grosser, Cedric Bastoul, CLooG Development, GCC GRAPHITE
On Sat, Dec 25, 2010 at 01:10:40PM -0600, Sebastian Pop wrote:
> Thanks. I am testing the two packages right now and I will report
> if I find something broken.

How is it working out? We're considering a 0.16.1 release.

skimo

Sebastian Pop

unread,
Jan 3, 2011, 11:45:48 AM1/3/11
to sk...@kotnet.org, Tobias Grosser, Cedric Bastoul, CLooG Development, GCC GRAPHITE

Graphite with cloog-parma still has some problems, when cloog-isl does not:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47127
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47128

I will investigate these issues that seem to be related to graphite
and not to cloog.

Sebastian

Reply all
Reply to author
Forward
0 new messages