diff mbox

Fail when PPL 0.11 is not present and CLooG has been requested.

Message ID 20110125131411.GY2724@tyan-ft48-01.lab.bos.redhat.com
State New
Headers show

Commit Message

Jakub Jelinek Jan. 25, 2011, 1:14 p.m. UTC
On Tue, Jan 25, 2011 at 05:04:37AM -0800, H.J. Lu wrote:
> On Tue, Jan 25, 2011 at 5:02 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> > On Mon, Jan 24, 2011 at 11:58 PM, Eric Botcazou <ebotcazou@adacore.com> wrote:
> >>> 2011-01-18  Sebastian Pop  <sebastian.pop@amd.com>
> >>>
> >>>       * configure.ac: Call AC_MSG_ERROR when PPL 0.11 is not present and
> >>>       CLooG has been requested.
> >>>       * configure: Regenerated.
> >>
> >> configure fails unconditionally on the mainline:
> >>
> >> checking for version 0.11 (or later revision) of PPL... no
> >> configure: error: Unable to find a usable PPL.  See config.log for details.
> >>
> >
> > http://gcc.gnu.org/install/prerequisites.html
> >
> > still says "CLooG-PPL version 0.15".
> 
> I meant "Parma Polyhedra Library (PPL) version 0.10".

I think something like:

   && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then

could fix this (CLOOG_REQUESTED checks if with_cloog* is empty, but
--without-cloog shouldn't certainly be considered to be requesting graphite
and the unconditional setting of with_cloog=no before the check makes it
unconditional.

That said, I'm quite unhappy about the new PPL version requirement, was it
really necessary at this point in 4.6 development (also the cloog-ppl
requirement)?  It will cause quite a lot of hassles to many of the
distributions.

	Jakub

Comments

Richard Biener Jan. 25, 2011, 1:41 p.m. UTC | #1
On Tue, Jan 25, 2011 at 2:14 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Tue, Jan 25, 2011 at 05:04:37AM -0800, H.J. Lu wrote:
>> On Tue, Jan 25, 2011 at 5:02 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> > On Mon, Jan 24, 2011 at 11:58 PM, Eric Botcazou <ebotcazou@adacore.com> wrote:
>> >>> 2011-01-18  Sebastian Pop  <sebastian.pop@amd.com>
>> >>>
>> >>>       * configure.ac: Call AC_MSG_ERROR when PPL 0.11 is not present and
>> >>>       CLooG has been requested.
>> >>>       * configure: Regenerated.
>> >>
>> >> configure fails unconditionally on the mainline:
>> >>
>> >> checking for version 0.11 (or later revision) of PPL... no
>> >> configure: error: Unable to find a usable PPL.  See config.log for details.
>> >>
>> >
>> > http://gcc.gnu.org/install/prerequisites.html
>> >
>> > still says "CLooG-PPL version 0.15".
>>
>> I meant "Parma Polyhedra Library (PPL) version 0.10".
>
> I think something like:
>
> --- configure.ac        2011-01-25 12:58:42.145421312 +0100
> +++ configure.ac   2011-01-25 14:10:47.473670333 +0100
> @@ -1688,13 +1688,12 @@ dnl Provide configure switches and initi
>  dnl with user input.
>  CLOOG_INIT_FLAGS
>  if test "x$with_ppl" = "xno"; then
> -  with_cloog=no
> -
>   dnl Only execute fail-action, if CLooG has been requested.
>   CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
> -  if test "${graphite_requested}" = yes; then
> +  if test "${graphite_requested}" = yes -a "x${with_cloog}" != xno; then
>     AC_MSG_ERROR([Unable to find a usable PPL.  See config.log for
> details.])]
>   fi
> +  with_cloog=no
>  fi
>  if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
>   && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
>
> could fix this (CLOOG_REQUESTED checks if with_cloog* is empty, but
> --without-cloog shouldn't certainly be considered to be requesting graphite
> and the unconditional setting of with_cloog=no before the check makes it
> unconditional.
>
> That said, I'm quite unhappy about the new PPL version requirement, was it
> really necessary at this point in 4.6 development (also the cloog-ppl
> requirement)?  It will cause quite a lot of hassles to many of the
> distributions.

Indeed :/  While the next openSUSE will have PPL 0.11 it will not yet
have cloog 0.16.1 (I didn't even realize that was available already).

Richard.

>        Jakub
>
Richard Biener Jan. 25, 2011, 1:45 p.m. UTC | #2
On Tue, Jan 25, 2011 at 2:41 PM, Richard Guenther
<richard.guenther@gmail.com> wrote:
> On Tue, Jan 25, 2011 at 2:14 PM, Jakub Jelinek <jakub@redhat.com> wrote:
>> On Tue, Jan 25, 2011 at 05:04:37AM -0800, H.J. Lu wrote:
>>> On Tue, Jan 25, 2011 at 5:02 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>> > On Mon, Jan 24, 2011 at 11:58 PM, Eric Botcazou <ebotcazou@adacore.com> wrote:
>>> >>> 2011-01-18  Sebastian Pop  <sebastian.pop@amd.com>
>>> >>>
>>> >>>       * configure.ac: Call AC_MSG_ERROR when PPL 0.11 is not present and
>>> >>>       CLooG has been requested.
>>> >>>       * configure: Regenerated.
>>> >>
>>> >> configure fails unconditionally on the mainline:
>>> >>
>>> >> checking for version 0.11 (or later revision) of PPL... no
>>> >> configure: error: Unable to find a usable PPL.  See config.log for details.
>>> >>
>>> >
>>> > http://gcc.gnu.org/install/prerequisites.html
>>> >
>>> > still says "CLooG-PPL version 0.15".
>>>
>>> I meant "Parma Polyhedra Library (PPL) version 0.10".
>>
>> I think something like:
>>
>> --- configure.ac        2011-01-25 12:58:42.145421312 +0100
>> +++ configure.ac   2011-01-25 14:10:47.473670333 +0100
>> @@ -1688,13 +1688,12 @@ dnl Provide configure switches and initi
>>  dnl with user input.
>>  CLOOG_INIT_FLAGS
>>  if test "x$with_ppl" = "xno"; then
>> -  with_cloog=no
>> -
>>   dnl Only execute fail-action, if CLooG has been requested.
>>   CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
>> -  if test "${graphite_requested}" = yes; then
>> +  if test "${graphite_requested}" = yes -a "x${with_cloog}" != xno; then
>>     AC_MSG_ERROR([Unable to find a usable PPL.  See config.log for
>> details.])]
>>   fi
>> +  with_cloog=no
>>  fi
>>  if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
>>   && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
>>
>> could fix this (CLOOG_REQUESTED checks if with_cloog* is empty, but
>> --without-cloog shouldn't certainly be considered to be requesting graphite
>> and the unconditional setting of with_cloog=no before the check makes it
>> unconditional.
>>
>> That said, I'm quite unhappy about the new PPL version requirement, was it
>> really necessary at this point in 4.6 development (also the cloog-ppl
>> requirement)?  It will cause quite a lot of hassles to many of the
>> distributions.
>
> Indeed :/  While the next openSUSE will have PPL 0.11 it will not yet
> have cloog 0.16.1 (I didn't even realize that was available already).

Btw, in the infrastructure directory I see cloog-0.16.1 and cloog-parma-0.16.1.
What is the difference between both and which one should be used?

Richard.
Sebastian Pop Jan. 25, 2011, 2:42 p.m. UTC | #3
On Tue, Jan 25, 2011 at 07:45, Richard Guenther
<richard.guenther@gmail.com> wrote:
> On Tue, Jan 25, 2011 at 2:41 PM, Richard Guenther
> <richard.guenther@gmail.com> wrote:
>> On Tue, Jan 25, 2011 at 2:14 PM, Jakub Jelinek <jakub@redhat.com> wrote:
>>> On Tue, Jan 25, 2011 at 05:04:37AM -0800, H.J. Lu wrote:
>>>> On Tue, Jan 25, 2011 at 5:02 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>>> > On Mon, Jan 24, 2011 at 11:58 PM, Eric Botcazou <ebotcazou@adacore.com> wrote:
>>>> >>> 2011-01-18  Sebastian Pop  <sebastian.pop@amd.com>
>>>> >>>
>>>> >>>       * configure.ac: Call AC_MSG_ERROR when PPL 0.11 is not present and
>>>> >>>       CLooG has been requested.
>>>> >>>       * configure: Regenerated.
>>>> >>
>>>> >> configure fails unconditionally on the mainline:
>>>> >>
>>>> >> checking for version 0.11 (or later revision) of PPL... no
>>>> >> configure: error: Unable to find a usable PPL.  See config.log for details.
>>>> >>
>>>> >
>>>> > http://gcc.gnu.org/install/prerequisites.html
>>>> >
>>>> > still says "CLooG-PPL version 0.15".
>>>>
>>>> I meant "Parma Polyhedra Library (PPL) version 0.10".

I will fix http://gcc.gnu.org/install/prerequisites.html

>>>
>>> I think something like:
>>>
>>> --- configure.ac        2011-01-25 12:58:42.145421312 +0100
>>> +++ configure.ac   2011-01-25 14:10:47.473670333 +0100
>>> @@ -1688,13 +1688,12 @@ dnl Provide configure switches and initi
>>>  dnl with user input.
>>>  CLOOG_INIT_FLAGS
>>>  if test "x$with_ppl" = "xno"; then
>>> -  with_cloog=no
>>> -
>>>   dnl Only execute fail-action, if CLooG has been requested.
>>>   CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
>>> -  if test "${graphite_requested}" = yes; then
>>> +  if test "${graphite_requested}" = yes -a "x${with_cloog}" != xno; then
>>>     AC_MSG_ERROR([Unable to find a usable PPL.  See config.log for
>>> details.])]
>>>   fi
>>> +  with_cloog=no
>>>  fi
>>>  if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
>>>   && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
>>>
>>> could fix this (CLOOG_REQUESTED checks if with_cloog* is empty, but
>>> --without-cloog shouldn't certainly be considered to be requesting graphite
>>> and the unconditional setting of with_cloog=no before the check makes it
>>> unconditional.

Looks good.  Thanks for the fix.

>>>
>>> That said, I'm quite unhappy about the new PPL version requirement, was it
>>> really necessary at this point in 4.6 development (also the cloog-ppl
>>> requirement)?  It will cause quite a lot of hassles to many of the
>>> distributions.

With PPL 0.10 most of the interchange testcases will fail to be interchanged.

>> Indeed :/  While the next openSUSE will have PPL 0.11 it will not yet
>> have cloog 0.16.1 (I didn't even realize that was available already).
>
> Btw, in the infrastructure directory I see cloog-0.16.1 and cloog-parma-0.16.1.
> What is the difference between both and which one should be used?

Please use cloog-0.16.1 that is CLooG.org based on the ISL back-end.

cloog-parma-0.16.1 is CLooG.org based on the PPL back-end.  It is also
usable but has some extra problems I have not yet addressed:
  - 47127 P3 gcc.dg/graphite/id-14.c ICEs with cloog-parma
  - 47128 P3 gcc.dg/graphite/pr43012.c ICEs with cloog-parma

Thanks,
Sebastian
H.J. Lu Jan. 25, 2011, 2:49 p.m. UTC | #4
On Tue, Jan 25, 2011 at 6:42 AM, Sebastian Pop <sebpop@gmail.com> wrote:
> On Tue, Jan 25, 2011 at 07:45, Richard Guenther
> <richard.guenther@gmail.com> wrote:
>> On Tue, Jan 25, 2011 at 2:41 PM, Richard Guenther
>> <richard.guenther@gmail.com> wrote:
>>> On Tue, Jan 25, 2011 at 2:14 PM, Jakub Jelinek <jakub@redhat.com> wrote:
>>>> On Tue, Jan 25, 2011 at 05:04:37AM -0800, H.J. Lu wrote:
>>>>> On Tue, Jan 25, 2011 at 5:02 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>>>> > On Mon, Jan 24, 2011 at 11:58 PM, Eric Botcazou <ebotcazou@adacore.com> wrote:
>>>>> >>> 2011-01-18  Sebastian Pop  <sebastian.pop@amd.com>
>>>>> >>>
>>>>> >>>       * configure.ac: Call AC_MSG_ERROR when PPL 0.11 is not present and
>>>>> >>>       CLooG has been requested.
>>>>> >>>       * configure: Regenerated.
>>>>> >>
>>>>> >> configure fails unconditionally on the mainline:
>>>>> >>
>>>>> >> checking for version 0.11 (or later revision) of PPL... no
>>>>> >> configure: error: Unable to find a usable PPL.  See config.log for details.
>>>>> >>
>>>>> >
>>>>> > http://gcc.gnu.org/install/prerequisites.html
>>>>> >
>>>>> > still says "CLooG-PPL version 0.15".
>>>>>
>>>>> I meant "Parma Polyhedra Library (PPL) version 0.10".
>
> I will fix http://gcc.gnu.org/install/prerequisites.html
>
>>>>
>>>> I think something like:
>>>>
>>>> --- configure.ac        2011-01-25 12:58:42.145421312 +0100
>>>> +++ configure.ac   2011-01-25 14:10:47.473670333 +0100
>>>> @@ -1688,13 +1688,12 @@ dnl Provide configure switches and initi
>>>>  dnl with user input.
>>>>  CLOOG_INIT_FLAGS
>>>>  if test "x$with_ppl" = "xno"; then
>>>> -  with_cloog=no
>>>> -
>>>>   dnl Only execute fail-action, if CLooG has been requested.
>>>>   CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
>>>> -  if test "${graphite_requested}" = yes; then
>>>> +  if test "${graphite_requested}" = yes -a "x${with_cloog}" != xno; then
>>>>     AC_MSG_ERROR([Unable to find a usable PPL.  See config.log for
>>>> details.])]
>>>>   fi
>>>> +  with_cloog=no
>>>>  fi
>>>>  if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
>>>>   && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
>>>>
>>>> could fix this (CLOOG_REQUESTED checks if with_cloog* is empty, but
>>>> --without-cloog shouldn't certainly be considered to be requesting graphite
>>>> and the unconditional setting of with_cloog=no before the check makes it
>>>> unconditional.
>
> Looks good.  Thanks for the fix.
>
>>>>
>>>> That said, I'm quite unhappy about the new PPL version requirement, was it
>>>> really necessary at this point in 4.6 development (also the cloog-ppl
>>>> requirement)?  It will cause quite a lot of hassles to many of the
>>>> distributions.
>
> With PPL 0.10 most of the interchange testcases will fail to be interchanged.
>
>>> Indeed :/  While the next openSUSE will have PPL 0.11 it will not yet
>>> have cloog 0.16.1 (I didn't even realize that was available already).
>>
>> Btw, in the infrastructure directory I see cloog-0.16.1 and cloog-parma-0.16.1.
>> What is the difference between both and which one should be used?
>
> Please use cloog-0.16.1 that is CLooG.org based on the ISL back-end.
>
> cloog-parma-0.16.1 is CLooG.org based on the PPL back-end.  It is also
> usable but has some extra problems I have not yet addressed:
>  - 47127 P3 gcc.dg/graphite/id-14.c ICEs with cloog-parma
>  - 47128 P3 gcc.dg/graphite/pr43012.c ICEs with cloog-parma
>

It requires cloog-0.16.1 and cloog-parma-0.16.1 doesn't work. Why isn't
--enable-cloog-backend=isl the default?
Richard Biener Jan. 25, 2011, 2:53 p.m. UTC | #5
On Tue, Jan 25, 2011 at 3:49 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Tue, Jan 25, 2011 at 6:42 AM, Sebastian Pop <sebpop@gmail.com> wrote:
>> On Tue, Jan 25, 2011 at 07:45, Richard Guenther
>> <richard.guenther@gmail.com> wrote:
>>> On Tue, Jan 25, 2011 at 2:41 PM, Richard Guenther
>>> <richard.guenther@gmail.com> wrote:
>>>> On Tue, Jan 25, 2011 at 2:14 PM, Jakub Jelinek <jakub@redhat.com> wrote:
>>>>> On Tue, Jan 25, 2011 at 05:04:37AM -0800, H.J. Lu wrote:
>>>>>> On Tue, Jan 25, 2011 at 5:02 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>>>>> > On Mon, Jan 24, 2011 at 11:58 PM, Eric Botcazou <ebotcazou@adacore.com> wrote:
>>>>>> >>> 2011-01-18  Sebastian Pop  <sebastian.pop@amd.com>
>>>>>> >>>
>>>>>> >>>       * configure.ac: Call AC_MSG_ERROR when PPL 0.11 is not present and
>>>>>> >>>       CLooG has been requested.
>>>>>> >>>       * configure: Regenerated.
>>>>>> >>
>>>>>> >> configure fails unconditionally on the mainline:
>>>>>> >>
>>>>>> >> checking for version 0.11 (or later revision) of PPL... no
>>>>>> >> configure: error: Unable to find a usable PPL.  See config.log for details.
>>>>>> >>
>>>>>> >
>>>>>> > http://gcc.gnu.org/install/prerequisites.html
>>>>>> >
>>>>>> > still says "CLooG-PPL version 0.15".
>>>>>>
>>>>>> I meant "Parma Polyhedra Library (PPL) version 0.10".
>>
>> I will fix http://gcc.gnu.org/install/prerequisites.html
>>
>>>>>
>>>>> I think something like:
>>>>>
>>>>> --- configure.ac        2011-01-25 12:58:42.145421312 +0100
>>>>> +++ configure.ac   2011-01-25 14:10:47.473670333 +0100
>>>>> @@ -1688,13 +1688,12 @@ dnl Provide configure switches and initi
>>>>>  dnl with user input.
>>>>>  CLOOG_INIT_FLAGS
>>>>>  if test "x$with_ppl" = "xno"; then
>>>>> -  with_cloog=no
>>>>> -
>>>>>   dnl Only execute fail-action, if CLooG has been requested.
>>>>>   CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
>>>>> -  if test "${graphite_requested}" = yes; then
>>>>> +  if test "${graphite_requested}" = yes -a "x${with_cloog}" != xno; then
>>>>>     AC_MSG_ERROR([Unable to find a usable PPL.  See config.log for
>>>>> details.])]
>>>>>   fi
>>>>> +  with_cloog=no
>>>>>  fi
>>>>>  if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
>>>>>   && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
>>>>>
>>>>> could fix this (CLOOG_REQUESTED checks if with_cloog* is empty, but
>>>>> --without-cloog shouldn't certainly be considered to be requesting graphite
>>>>> and the unconditional setting of with_cloog=no before the check makes it
>>>>> unconditional.
>>
>> Looks good.  Thanks for the fix.
>>
>>>>>
>>>>> That said, I'm quite unhappy about the new PPL version requirement, was it
>>>>> really necessary at this point in 4.6 development (also the cloog-ppl
>>>>> requirement)?  It will cause quite a lot of hassles to many of the
>>>>> distributions.
>>
>> With PPL 0.10 most of the interchange testcases will fail to be interchanged.
>>
>>>> Indeed :/  While the next openSUSE will have PPL 0.11 it will not yet
>>>> have cloog 0.16.1 (I didn't even realize that was available already).
>>>
>>> Btw, in the infrastructure directory I see cloog-0.16.1 and cloog-parma-0.16.1.
>>> What is the difference between both and which one should be used?
>>
>> Please use cloog-0.16.1 that is CLooG.org based on the ISL back-end.
>>
>> cloog-parma-0.16.1 is CLooG.org based on the PPL back-end.  It is also
>> usable but has some extra problems I have not yet addressed:
>>  - 47127 P3 gcc.dg/graphite/id-14.c ICEs with cloog-parma
>>  - 47128 P3 gcc.dg/graphite/pr43012.c ICEs with cloog-parma
>>
>
> It requires cloog-0.16.1 and cloog-parma-0.16.1 doesn't work. Why isn't
> --enable-cloog-backend=isl the default?

One less shared libraray because of

"Even if CLooG 0.16
does not use PPL, PPL is still required for Graphite."

(ugh)

Btw, does the 4.5 branch still build with the new cloog?

Richard.


> --
> H.J.
>
Sebastian Pop Jan. 25, 2011, 3:05 p.m. UTC | #6
On Tue, Jan 25, 2011 at 08:53, Richard Guenther
<richard.guenther@gmail.com> wrote:
>> It requires cloog-0.16.1 and cloog-parma-0.16.1 doesn't work. Why isn't
>> --enable-cloog-backend=isl the default?

No particular reason.  If people insist to have
--enable-cloog-backend=isl the default, we could switch.
In my opinion the ISL back-end is more stable than my
cloog-ppl branch of CLooG.

> One less shared libraray because of
>
> "Even if CLooG 0.16
> does not use PPL, PPL is still required for Graphite."
>
> (ugh)
>
> Btw, does the 4.5 branch still build with the new cloog?

No, 4.5 cannot use CLooG.org: you would need all the changes that
Andreas Simbürger contributed to make graphite use CLooG.org.  These
changes can be backported to 4.5 if needed.

Sebastian
Sven Verdoolaege Jan. 25, 2011, 3:26 p.m. UTC | #7
On Tue, Jan 25, 2011 at 09:05:24AM -0600, Sebastian Pop wrote:
> On Tue, Jan 25, 2011 at 08:53, Richard Guenther
> <richard.guenther@gmail.com> wrote:
> >> It requires cloog-0.16.1 and cloog-parma-0.16.1 doesn't work. Why isn't
> >> --enable-cloog-backend=isl the default?
> 
> No particular reason.  If people insist to have
> --enable-cloog-backend=isl the default, we could switch.

If you do this, you should do it for the right reasons, not
because of some miscommunication.

> In my opinion the ISL back-end is more stable than my
> cloog-ppl branch of CLooG.

Richard seems to think that cloog-parma-0.16.1 is the default,
which hopefully is not the case.  It doesn't sound like he
would mind sticking to cloog-ppl-0.15.x.

skimo
Jakub Jelinek Jan. 25, 2011, 3:26 p.m. UTC | #8
On Tue, Jan 25, 2011 at 08:42:33AM -0600, Sebastian Pop wrote:
> >>>
> >>> That said, I'm quite unhappy about the new PPL version requirement, was it
> >>> really necessary at this point in 4.6 development (also the cloog-ppl
> >>> requirement)?  It will cause quite a lot of hassles to many of the
> >>> distributions.
> 
> With PPL 0.10 most of the interchange testcases will fail to be interchanged.

Fail as in are miscompiled or just aren't interchanged?  The latter wouldn't
be a terrible deal, at least for me, we'd just need some dejagnu routine
that would check for PPL >= 0.11 in use by gcc and xfail the test dump
matching otherwise.  Miscompilations are of course quite different thing.

	Jakub
H.J. Lu Jan. 25, 2011, 3:33 p.m. UTC | #9
On Tue, Jan 25, 2011 at 6:53 AM, Richard Guenther
<richard.guenther@gmail.com> wrote:
> On Tue, Jan 25, 2011 at 3:49 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Tue, Jan 25, 2011 at 6:42 AM, Sebastian Pop <sebpop@gmail.com> wrote:
>>> On Tue, Jan 25, 2011 at 07:45, Richard Guenther
>>> <richard.guenther@gmail.com> wrote:
>>>> On Tue, Jan 25, 2011 at 2:41 PM, Richard Guenther
>>>> <richard.guenther@gmail.com> wrote:
>>>>> On Tue, Jan 25, 2011 at 2:14 PM, Jakub Jelinek <jakub@redhat.com> wrote:
>>>>>> On Tue, Jan 25, 2011 at 05:04:37AM -0800, H.J. Lu wrote:
>>>>>>> On Tue, Jan 25, 2011 at 5:02 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>>>>>> > On Mon, Jan 24, 2011 at 11:58 PM, Eric Botcazou <ebotcazou@adacore.com> wrote:
>>>>>>> >>> 2011-01-18  Sebastian Pop  <sebastian.pop@amd.com>
>>>>>>> >>>
>>>>>>> >>>       * configure.ac: Call AC_MSG_ERROR when PPL 0.11 is not present and
>>>>>>> >>>       CLooG has been requested.
>>>>>>> >>>       * configure: Regenerated.
>>>>>>> >>
>>>>>>> >> configure fails unconditionally on the mainline:
>>>>>>> >>
>>>>>>> >> checking for version 0.11 (or later revision) of PPL... no
>>>>>>> >> configure: error: Unable to find a usable PPL.  See config.log for details.
>>>>>>> >>
>>>>>>> >
>>>>>>> > http://gcc.gnu.org/install/prerequisites.html
>>>>>>> >
>>>>>>> > still says "CLooG-PPL version 0.15".
>>>>>>>
>>>>>>> I meant "Parma Polyhedra Library (PPL) version 0.10".
>>>
>>> I will fix http://gcc.gnu.org/install/prerequisites.html
>>>
>>>>>>
>>>>>> I think something like:
>>>>>>
>>>>>> --- configure.ac        2011-01-25 12:58:42.145421312 +0100
>>>>>> +++ configure.ac   2011-01-25 14:10:47.473670333 +0100
>>>>>> @@ -1688,13 +1688,12 @@ dnl Provide configure switches and initi
>>>>>>  dnl with user input.
>>>>>>  CLOOG_INIT_FLAGS
>>>>>>  if test "x$with_ppl" = "xno"; then
>>>>>> -  with_cloog=no
>>>>>> -
>>>>>>   dnl Only execute fail-action, if CLooG has been requested.
>>>>>>   CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
>>>>>> -  if test "${graphite_requested}" = yes; then
>>>>>> +  if test "${graphite_requested}" = yes -a "x${with_cloog}" != xno; then
>>>>>>     AC_MSG_ERROR([Unable to find a usable PPL.  See config.log for
>>>>>> details.])]
>>>>>>   fi
>>>>>> +  with_cloog=no
>>>>>>  fi
>>>>>>  if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
>>>>>>   && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
>>>>>>
>>>>>> could fix this (CLOOG_REQUESTED checks if with_cloog* is empty, but
>>>>>> --without-cloog shouldn't certainly be considered to be requesting graphite
>>>>>> and the unconditional setting of with_cloog=no before the check makes it
>>>>>> unconditional.
>>>
>>> Looks good.  Thanks for the fix.
>>>
>>>>>>
>>>>>> That said, I'm quite unhappy about the new PPL version requirement, was it
>>>>>> really necessary at this point in 4.6 development (also the cloog-ppl
>>>>>> requirement)?  It will cause quite a lot of hassles to many of the
>>>>>> distributions.
>>>
>>> With PPL 0.10 most of the interchange testcases will fail to be interchanged.
>>>
>>>>> Indeed :/  While the next openSUSE will have PPL 0.11 it will not yet
>>>>> have cloog 0.16.1 (I didn't even realize that was available already).
>>>>
>>>> Btw, in the infrastructure directory I see cloog-0.16.1 and cloog-parma-0.16.1.
>>>> What is the difference between both and which one should be used?
>>>
>>> Please use cloog-0.16.1 that is CLooG.org based on the ISL back-end.
>>>
>>> cloog-parma-0.16.1 is CLooG.org based on the PPL back-end.  It is also
>>> usable but has some extra problems I have not yet addressed:
>>>  - 47127 P3 gcc.dg/graphite/id-14.c ICEs with cloog-parma
>>>  - 47128 P3 gcc.dg/graphite/pr43012.c ICEs with cloog-parma
>>>
>>
>> It requires cloog-0.16.1 and cloog-parma-0.16.1 doesn't work. Why isn't
>> --enable-cloog-backend=isl the default?
>
> One less shared libraray because of
>
> "Even if CLooG 0.16
> does not use PPL, PPL is still required for Graphite."
>

It makes no senses.  I installed ppl 0,11 and cloog 0.16.1. I got

checking for version 0.11 (or later revision) of PPL... yes
checking for installed CLooG PPL Legacy... no
configure: error: Unable to find a usable CLooG.  See config.log for details.

configure:5881: gcc -m32 -o conftest -g -I/opt/gnu/include
-I/opt/gnu/include   -DCLOOG_INT_GMP -DCLOOG_ORG  -L/opt/gnu/lib
-L/opt/gnu/lib -lppl_c -lppl -lgmpxx conftest.c -lcloog  >&5
conftest.c: In function 'main':
conftest.c:15:5: error: 'choke' undeclared (first use in this function)
conftest.c:15:5: note: each undeclared identifier is reported only
once for each function it appears in
conftest.c:15:11: error: expected ';' before 'me'
configure:5881: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h.  */
| #include "cloog/cloog.h"
| int
| main ()
| {
| #ifndef CLOOG_PPL_BACKEND
|     choke me
|    #endif
|   ;
|   return 0;
| }
configure:5889: result: no
configure:6109: error: Unable to find a usable CLooG.  See config.log
for details.

Why does it check cloog-ppl at all?
Tobias Grosser Jan. 25, 2011, 3:38 p.m. UTC | #10
On 01/25/2011 10:33 AM, H.J. Lu wrote:
> On Tue, Jan 25, 2011 at 6:53 AM, Richard Guenther
> <richard.guenther@gmail.com>  wrote:
>> On Tue, Jan 25, 2011 at 3:49 PM, H.J. Lu<hjl.tools@gmail.com>  wrote:
 >>> [...]
>>
>> One less shared libraray because of
>>
>> "Even if CLooG 0.16
>> does not use PPL, PPL is still required for Graphite."
>>
>
> It makes no senses.  I installed ppl 0,11 and cloog 0.16.1. I got
>
> checking for version 0.11 (or later revision) of PPL... yes
> checking for installed CLooG PPL Legacy... no
> configure: error: Unable to find a usable CLooG.  See config.log for details.
>
> configure:5881: gcc -m32 -o conftest -g -I/opt/gnu/include
> -I/opt/gnu/include   -DCLOOG_INT_GMP -DCLOOG_ORG  -L/opt/gnu/lib
> -L/opt/gnu/lib -lppl_c -lppl -lgmpxx conftest.c -lcloog>&5
> conftest.c: In function 'main':
> conftest.c:15:5: error: 'choke' undeclared (first use in this function)
 > [...]
> Why does it check cloog-ppl at all?

Cloog 0.15 (known as cloog-ppl) is still the default. If you installed 
cloog-0.16.1 (known as cloog-isl) you need to explicitly state that you 
want a Cloog other than the default. This is done by
'--enable-cloog-backend=isl' in the configure.

Cheers
Tobi
Sebastian Pop Jan. 25, 2011, 3:39 p.m. UTC | #11
On Tue, Jan 25, 2011 at 09:26, Jakub Jelinek <jakub@redhat.com> wrote:
> On Tue, Jan 25, 2011 at 08:42:33AM -0600, Sebastian Pop wrote:
>> >>>
>> >>> That said, I'm quite unhappy about the new PPL version requirement, was it
>> >>> really necessary at this point in 4.6 development (also the cloog-ppl
>> >>> requirement)?  It will cause quite a lot of hassles to many of the
>> >>> distributions.
>>
>> With PPL 0.10 most of the interchange testcases will fail to be interchanged.
>
> Fail as in are miscompiled or just aren't interchanged?

Some of the interchange patterns would fail, but there should be no miscompiles.

Sebastian
Tobias Grosser Jan. 25, 2011, 3:45 p.m. UTC | #12
On 01/25/2011 10:26 AM, Sven Verdoolaege wrote:
> On Tue, Jan 25, 2011 at 09:05:24AM -0600, Sebastian Pop wrote:
>> On Tue, Jan 25, 2011 at 08:53, Richard Guenther
>> <richard.guenther@gmail.com>  wrote:
>>>> It requires cloog-0.16.1 and cloog-parma-0.16.1 doesn't work. Why isn't
>>>> --enable-cloog-backend=isl the default?
>>
>> No particular reason.  If people insist to have
>> --enable-cloog-backend=isl the default, we could switch.
>
> If you do this, you should do it for the right reasons, not
> because of some miscommunication.
The reason is that cloog-isl (cloog-0.16.x.tar.gz) was never tested by 
other people as Andreas, Sebastian, Jack or me. I do not think this is 
enough to push it as default into a gcc release. Furthermore, in most 
distributions packages for cloog-isl do not yet exist.

There is no need hurry, especially as the benefits it definitely has, do 
not yet manifest in any important benchmark/program.

>> In my opinion the ISL back-end is more stable than my
>> cloog-ppl branch of CLooG.
>
> Richard seems to think that cloog-parma-0.16.1 is the default,
> which hopefully is not the case.  It doesn't sound like he
> would mind sticking to cloog-ppl-0.15.x.

Currently cloog-ppl-0.15.x is the default (except we introduced a huge 
bug). I do not plan to change this for gcc 4.6

Tobias
H.J. Lu Jan. 25, 2011, 3:45 p.m. UTC | #13
On Tue, Jan 25, 2011 at 7:38 AM, Tobias Grosser
<grosser@fim.uni-passau.de> wrote:
> On 01/25/2011 10:33 AM, H.J. Lu wrote:
>>
>> On Tue, Jan 25, 2011 at 6:53 AM, Richard Guenther
>> <richard.guenther@gmail.com>  wrote:
>>>
>>> On Tue, Jan 25, 2011 at 3:49 PM, H.J. Lu<hjl.tools@gmail.com>  wrote:
>
>>>> [...]
>>>
>>> One less shared libraray because of
>>>
>>> "Even if CLooG 0.16
>>> does not use PPL, PPL is still required for Graphite."
>>>
>>
>> It makes no senses.  I installed ppl 0,11 and cloog 0.16.1. I got
>>
>> checking for version 0.11 (or later revision) of PPL... yes
>> checking for installed CLooG PPL Legacy... no
>> configure: error: Unable to find a usable CLooG.  See config.log for
>> details.
>>
>> configure:5881: gcc -m32 -o conftest -g -I/opt/gnu/include
>> -I/opt/gnu/include   -DCLOOG_INT_GMP -DCLOOG_ORG  -L/opt/gnu/lib
>> -L/opt/gnu/lib -lppl_c -lppl -lgmpxx conftest.c -lcloog>&5
>> conftest.c: In function 'main':
>> conftest.c:15:5: error: 'choke' undeclared (first use in this function)
>
>> [...]
>>
>> Why does it check cloog-ppl at all?
>
> Cloog 0.15 (known as cloog-ppl) is still the default. If you installed
> cloog-0.16.1 (known as cloog-isl) you need to explicitly state that you want
> a Cloog other than the default. This is done by
> '--enable-cloog-backend=isl' in the configure.

There is no working cloog ppl for cloog 0.16.1. Why do you make it
the default for 0.16.1?
Ian Lance Taylor Jan. 25, 2011, 3:50 p.m. UTC | #14
On Tue, Jan 25, 2011 at 5:14 AM, Jakub Jelinek <jakub@redhat.com> wrote:

> --- configure.ac        2011-01-25 12:58:42.145421312 +0100
> +++ configure.ac   2011-01-25 14:10:47.473670333 +0100
> @@ -1688,13 +1688,12 @@ dnl Provide configure switches and initi
>  dnl with user input.
>  CLOOG_INIT_FLAGS
>  if test "x$with_ppl" = "xno"; then
> -  with_cloog=no
> -
>   dnl Only execute fail-action, if CLooG has been requested.
>   CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
> -  if test "${graphite_requested}" = yes; then
> +  if test "${graphite_requested}" = yes -a "x${with_cloog}" != xno; then
>     AC_MSG_ERROR([Unable to find a usable PPL.  See config.log for
> details.])]
>   fi
> +  with_cloog=no
>  fi
>  if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
>   && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then

It seems to me that CLOOG_REQUESTED in config/cloog.m4 should test for
with_cloog=no.
That seems like the right thing to do in any case, and it seems that
it would fix this problem.

Ian
Tobias Grosser Jan. 25, 2011, 3:51 p.m. UTC | #15
On 01/25/2011 10:45 AM, H.J. Lu wrote:
> On Tue, Jan 25, 2011 at 7:38 AM, Tobias Grosser
> <grosser@fim.uni-passau.de>  wrote:
>> On 01/25/2011 10:33 AM, H.J. Lu wrote:
>>>
>>> On Tue, Jan 25, 2011 at 6:53 AM, Richard Guenther
>>> <richard.guenther@gmail.com>    wrote:
>>>>
>>>> On Tue, Jan 25, 2011 at 3:49 PM, H.J. Lu<hjl.tools@gmail.com>    wrote:
>>
>>>>> [...]
>>>>
>>>> One less shared libraray because of
>>>>
>>>> "Even if CLooG 0.16
>>>> does not use PPL, PPL is still required for Graphite."
>>>>
>>>
>>> It makes no senses.  I installed ppl 0,11 and cloog 0.16.1. I got
>>>
>>> checking for version 0.11 (or later revision) of PPL... yes
>>> checking for installed CLooG PPL Legacy... no
>>> configure: error: Unable to find a usable CLooG.  See config.log for
>>> details.
>>>
>>> configure:5881: gcc -m32 -o conftest -g -I/opt/gnu/include
>>> -I/opt/gnu/include   -DCLOOG_INT_GMP -DCLOOG_ORG  -L/opt/gnu/lib
>>> -L/opt/gnu/lib -lppl_c -lppl -lgmpxx conftest.c -lcloog>&5
>>> conftest.c: In function 'main':
>>> conftest.c:15:5: error: 'choke' undeclared (first use in this function)
>>
>>> [...]
>>>
>>> Why does it check cloog-ppl at all?
>>
>> Cloog 0.15 (known as cloog-ppl) is still the default. If you installed
>> cloog-0.16.1 (known as cloog-isl) you need to explicitly state that you want
>> a Cloog other than the default. This is done by
>> '--enable-cloog-backend=isl' in the configure.
>
> There is no working cloog ppl for cloog 0.16.1. Why do you make it
> the default for 0.16.1?

Sorry for the confusion. There are those cloog versions available:

cloog 0.15 (Also known as cloog-ppl)
cloog 0.16.1 (Also known as cloog-isl)
cloog-parma 0.16.1 (Also known as cloog-parma)

We currently still default to cloog 0.15 (cloog-ppl). The next step for 
gcc 4.7 will be to update to cloog 0.16 (cloog-isl). With this update we 
will switch from using a ppl based cloog backend to an isl based cloog 
backend. However for gcc 4.6 we still default to use cloog 0.15 with the 
ppl based backend.

There will never be a 0.16 release of cloog-ppl. Its development is 
stopped in favor of cloog-isl and cloog-parma (Also using ppl as backend).

Cheers
Tobi
Jakub Jelinek Jan. 25, 2011, 3:52 p.m. UTC | #16
On Tue, Jan 25, 2011 at 07:50:16AM -0800, Ian Lance Taylor wrote:
> On Tue, Jan 25, 2011 at 5:14 AM, Jakub Jelinek <jakub@redhat.com> wrote:

> >   CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
> > -  if test "${graphite_requested}" = yes; then
> > +  if test "${graphite_requested}" = yes -a "x${with_cloog}" != xno; then
> >     AC_MSG_ERROR([Unable to find a usable PPL.  See config.log for
> > details.])]
> >   fi
> > +  with_cloog=no
> >  fi
> >  if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
> >   && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
> 
> It seems to me that CLOOG_REQUESTED in config/cloog.m4 should test for
> with_cloog=no.

I agree about that.

> That seems like the right thing to do in any case, and it seems that
> it would fix this problem.

But the with_cloog=no move is needed anyway, otherwise it would on the
other side never error out.

	Jakub
H.J. Lu Jan. 25, 2011, 3:54 p.m. UTC | #17
On Tue, Jan 25, 2011 at 7:51 AM, Tobias Grosser
<grosser@fim.uni-passau.de> wrote:
> On 01/25/2011 10:45 AM, H.J. Lu wrote:
>>
>> On Tue, Jan 25, 2011 at 7:38 AM, Tobias Grosser
>> <grosser@fim.uni-passau.de>  wrote:
>>>
>>> On 01/25/2011 10:33 AM, H.J. Lu wrote:
>>>>
>>>> On Tue, Jan 25, 2011 at 6:53 AM, Richard Guenther
>>>> <richard.guenther@gmail.com>    wrote:
>>>>>
>>>>> On Tue, Jan 25, 2011 at 3:49 PM, H.J. Lu<hjl.tools@gmail.com>    wrote:
>>>
>>>>>> [...]
>>>>>
>>>>> One less shared libraray because of
>>>>>
>>>>> "Even if CLooG 0.16
>>>>> does not use PPL, PPL is still required for Graphite."
>>>>>
>>>>
>>>> It makes no senses.  I installed ppl 0,11 and cloog 0.16.1. I got
>>>>
>>>> checking for version 0.11 (or later revision) of PPL... yes
>>>> checking for installed CLooG PPL Legacy... no
>>>> configure: error: Unable to find a usable CLooG.  See config.log for
>>>> details.
>>>>
>>>> configure:5881: gcc -m32 -o conftest -g -I/opt/gnu/include
>>>> -I/opt/gnu/include   -DCLOOG_INT_GMP -DCLOOG_ORG  -L/opt/gnu/lib
>>>> -L/opt/gnu/lib -lppl_c -lppl -lgmpxx conftest.c -lcloog>&5
>>>> conftest.c: In function 'main':
>>>> conftest.c:15:5: error: 'choke' undeclared (first use in this function)
>>>
>>>> [...]
>>>>
>>>> Why does it check cloog-ppl at all?
>>>
>>> Cloog 0.15 (known as cloog-ppl) is still the default. If you installed
>>> cloog-0.16.1 (known as cloog-isl) you need to explicitly state that you
>>> want
>>> a Cloog other than the default. This is done by
>>> '--enable-cloog-backend=isl' in the configure.
>>
>> There is no working cloog ppl for cloog 0.16.1. Why do you make it
>> the default for 0.16.1?
>
> Sorry for the confusion. There are those cloog versions available:
>
> cloog 0.15 (Also known as cloog-ppl)
> cloog 0.16.1 (Also known as cloog-isl)
> cloog-parma 0.16.1 (Also known as cloog-parma)
>
> We currently still default to cloog 0.15 (cloog-ppl). The next step for gcc
> 4.7 will be to update to cloog 0.16 (cloog-isl). With this update we will
> switch from using a ppl based cloog backend to an isl based cloog backend.
> However for gcc 4.6 we still default to use cloog 0.15 with the ppl based
> backend.
>

In configrue, you should switch to cloog-isl if the cloog version >= 0.16.1
since there is no cloog-ppl for the cloog version >= 0.16.1.
Tobias Grosser Jan. 25, 2011, 3:59 p.m. UTC | #18
On 01/25/2011 10:54 AM, H.J. Lu wrote:
> On Tue, Jan 25, 2011 at 7:51 AM, Tobias Grosser
> <grosser@fim.uni-passau.de>  wrote:
>> On 01/25/2011 10:45 AM, H.J. Lu wrote:
>>>
>>> On Tue, Jan 25, 2011 at 7:38 AM, Tobias Grosser
>>> <grosser@fim.uni-passau.de>    wrote:
>>>>
>>>> On 01/25/2011 10:33 AM, H.J. Lu wrote:
>>>>>
>>>>> On Tue, Jan 25, 2011 at 6:53 AM, Richard Guenther
>>>>> <richard.guenther@gmail.com>      wrote:
>>>>>>
>>>>>> On Tue, Jan 25, 2011 at 3:49 PM, H.J. Lu<hjl.tools@gmail.com>      wrote:
>>>>
>>>>>>> [...]
>>>>>>
>>>>>> One less shared libraray because of
>>>>>>
>>>>>> "Even if CLooG 0.16
>>>>>> does not use PPL, PPL is still required for Graphite."
>>>>>>
>>>>>
>>>>> It makes no senses.  I installed ppl 0,11 and cloog 0.16.1. I got
>>>>>
>>>>> checking for version 0.11 (or later revision) of PPL... yes
>>>>> checking for installed CLooG PPL Legacy... no
>>>>> configure: error: Unable to find a usable CLooG.  See config.log for
>>>>> details.
>>>>>
>>>>> configure:5881: gcc -m32 -o conftest -g -I/opt/gnu/include
>>>>> -I/opt/gnu/include   -DCLOOG_INT_GMP -DCLOOG_ORG  -L/opt/gnu/lib
>>>>> -L/opt/gnu/lib -lppl_c -lppl -lgmpxx conftest.c -lcloog>&5
>>>>> conftest.c: In function 'main':
>>>>> conftest.c:15:5: error: 'choke' undeclared (first use in this function)
>>>>
>>>>> [...]
>>>>>
>>>>> Why does it check cloog-ppl at all?
>>>>
>>>> Cloog 0.15 (known as cloog-ppl) is still the default. If you installed
>>>> cloog-0.16.1 (known as cloog-isl) you need to explicitly state that you
>>>> want
>>>> a Cloog other than the default. This is done by
>>>> '--enable-cloog-backend=isl' in the configure.
>>>
>>> There is no working cloog ppl for cloog 0.16.1. Why do you make it
>>> the default for 0.16.1?
>>
>> Sorry for the confusion. There are those cloog versions available:
>>
>> cloog 0.15 (Also known as cloog-ppl)
>> cloog 0.16.1 (Also known as cloog-isl)
>> cloog-parma 0.16.1 (Also known as cloog-parma)
>>
>> We currently still default to cloog 0.15 (cloog-ppl). The next step for gcc
>> 4.7 will be to update to cloog 0.16 (cloog-isl). With this update we will
>> switch from using a ppl based cloog backend to an isl based cloog backend.
>> However for gcc 4.6 we still default to use cloog 0.15 with the ppl based
>> backend.
>>
>
> In configrue, you should switch to cloog-isl if the cloog version>= 0.16.1
> since there is no cloog-ppl for the cloog version>= 0.16.1.

The intention was to fail if anything else than cloog 0.15 is available 
and the user did not explicitly state he wants to use another version. 
The reasoning was that gcc has the policy that two gcc binaries compiled 
on the same platform for the same set of configure flags should always 
behave the same. cloog-isl 0.16 and cloog-ppl 0.15 can apply different 
transformations, so automatically grabbing any of those would be yield 
to different behavior.

Tobi
Jakub Jelinek Jan. 25, 2011, 4:02 p.m. UTC | #19
On Tue, Jan 25, 2011 at 10:59:32AM -0500, Tobias Grosser wrote:
> The intention was to fail if anything else than cloog 0.15 is
> available and the user did not explicitly state he wants to use
> another version. The reasoning was that gcc has the policy that two
> gcc binaries compiled on the same platform for the same set of
> configure flags should always behave the same. cloog-isl 0.16 and
> cloog-ppl 0.15 can apply different transformations, so automatically
> grabbing any of those would be yield to different behavior.

We allow several versions of mpfr/gmp/libmpc, and of course the older
versions have known bugs (and newer version unknown bugs), thus there are
some variations in folding for those too.

	Jakub
Tobias Grosser Jan. 25, 2011, 4:10 p.m. UTC | #20
On 01/25/2011 11:02 AM, Jakub Jelinek wrote:
> On Tue, Jan 25, 2011 at 10:59:32AM -0500, Tobias Grosser wrote:
>> The intention was to fail if anything else than cloog 0.15 is
>> available and the user did not explicitly state he wants to use
>> another version. The reasoning was that gcc has the policy that two
>> gcc binaries compiled on the same platform for the same set of
>> configure flags should always behave the same. cloog-isl 0.16 and
>> cloog-ppl 0.15 can apply different transformations, so automatically
>> grabbing any of those would be yield to different behavior.
>
> We allow several versions of mpfr/gmp/libmpc, and of course the older
> versions have known bugs (and newer version unknown bugs), thus there are
> some variations in folding for those too.

The original configure patches Andreas proposed actually detected any
cloog version automatically. Those patches where not accepted, but 
Andreas was asked to require an explicit configure switch to change the
accepted version.

I believe this is reasonable, as the different cloog versions not only 
have different bugs, but may differ significantly in the code they 
generate (even though the code calculates the same result in the end).

Tobi
Ian Lance Taylor Jan. 25, 2011, 4:10 p.m. UTC | #21
Jakub Jelinek <jakub@redhat.com> writes:

> On Tue, Jan 25, 2011 at 07:50:16AM -0800, Ian Lance Taylor wrote:
>> On Tue, Jan 25, 2011 at 5:14 AM, Jakub Jelinek <jakub@redhat.com> wrote:
>
>> >   CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
>> > -  if test "${graphite_requested}" = yes; then
>> > +  if test "${graphite_requested}" = yes -a "x${with_cloog}" != xno; then
>> >     AC_MSG_ERROR([Unable to find a usable PPL.  See config.log for
>> > details.])]
>> >   fi
>> > +  with_cloog=no
>> >  fi
>> >  if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
>> >   && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
>> 
>> It seems to me that CLOOG_REQUESTED in config/cloog.m4 should test for
>> with_cloog=no.
>
> I agree about that.
>
>> That seems like the right thing to do in any case, and it seems that
>> it would fix this problem.
>
> But the with_cloog=no move is needed anyway, otherwise it would on the
> other side never error out.

Good point.

I'll preapprove a patch which moves with_cloog=no and fixes
CLOOG_REQUESTED, assuming it bootstraps.

Ian
Jack Howarth Jan. 25, 2011, 4:46 p.m. UTC | #22
On Tue, Jan 25, 2011 at 10:51:20AM -0500, Tobias Grosser wrote:
> On 01/25/2011 10:45 AM, H.J. Lu wrote:
>> On Tue, Jan 25, 2011 at 7:38 AM, Tobias Grosser
>> <grosser@fim.uni-passau.de>  wrote:
>>> On 01/25/2011 10:33 AM, H.J. Lu wrote:
>>>>
>>>> On Tue, Jan 25, 2011 at 6:53 AM, Richard Guenther
>>>> <richard.guenther@gmail.com>    wrote:
>>>>>
>>>>> On Tue, Jan 25, 2011 at 3:49 PM, H.J. Lu<hjl.tools@gmail.com>    wrote:
>>>
>>>>>> [...]
>>>>>
>>>>> One less shared libraray because of
>>>>>
>>>>> "Even if CLooG 0.16
>>>>> does not use PPL, PPL is still required for Graphite."
>>>>>
>>>>
>>>> It makes no senses.  I installed ppl 0,11 and cloog 0.16.1. I got
>>>>
>>>> checking for version 0.11 (or later revision) of PPL... yes
>>>> checking for installed CLooG PPL Legacy... no
>>>> configure: error: Unable to find a usable CLooG.  See config.log for
>>>> details.
>>>>
>>>> configure:5881: gcc -m32 -o conftest -g -I/opt/gnu/include
>>>> -I/opt/gnu/include   -DCLOOG_INT_GMP -DCLOOG_ORG  -L/opt/gnu/lib
>>>> -L/opt/gnu/lib -lppl_c -lppl -lgmpxx conftest.c -lcloog>&5
>>>> conftest.c: In function 'main':
>>>> conftest.c:15:5: error: 'choke' undeclared (first use in this function)
>>>
>>>> [...]
>>>>
>>>> Why does it check cloog-ppl at all?
>>>
>>> Cloog 0.15 (known as cloog-ppl) is still the default. If you installed
>>> cloog-0.16.1 (known as cloog-isl) you need to explicitly state that you want
>>> a Cloog other than the default. This is done by
>>> '--enable-cloog-backend=isl' in the configure.
>>
>> There is no working cloog ppl for cloog 0.16.1. Why do you make it
>> the default for 0.16.1?
>
> Sorry for the confusion. There are those cloog versions available:
>
> cloog 0.15 (Also known as cloog-ppl)
> cloog 0.16.1 (Also known as cloog-isl)
> cloog-parma 0.16.1 (Also known as cloog-parma)

Tobi,
   Since gcc trunk now requires ppl >= 0.11, legacy cloog-ppl needs to
also require cloog-ppl 0.15.10 since that is the only legacy cloog-ppl
which can build against ppl 0.11. The tarball for cloog-ppl-0.15.10.tar.gz
in infrastructure also needs to be fixed since it was created without
autogen.sh having been run first.
        Jack

>
> We currently still default to cloog 0.15 (cloog-ppl). The next step for  
> gcc 4.7 will be to update to cloog 0.16 (cloog-isl). With this update we  
> will switch from using a ppl based cloog backend to an isl based cloog  
> backend. However for gcc 4.6 we still default to use cloog 0.15 with the  
> ppl based backend.
>
> There will never be a 0.16 release of cloog-ppl. Its development is  
> stopped in favor of cloog-isl and cloog-parma (Also using ppl as 
> backend).
>
> Cheers
> Tobi
Tobias Grosser Jan. 25, 2011, 4:48 p.m. UTC | #23
On 01/25/2011 11:46 AM, Jack Howarth wrote:
> On Tue, Jan 25, 2011 at 10:51:20AM -0500, Tobias Grosser wrote:
>> On 01/25/2011 10:45 AM, H.J. Lu wrote:
>>> On Tue, Jan 25, 2011 at 7:38 AM, Tobias Grosser
>>> <grosser@fim.uni-passau.de>   wrote:
>>>> On 01/25/2011 10:33 AM, H.J. Lu wrote:
>>>>>
>>>>> On Tue, Jan 25, 2011 at 6:53 AM, Richard Guenther
>>>>> <richard.guenther@gmail.com>     wrote:
>>>>>>
>>>>>> On Tue, Jan 25, 2011 at 3:49 PM, H.J. Lu<hjl.tools@gmail.com>     wrote:
>>>>
>>>>>>> [...]
>>>>>>
>>>>>> One less shared libraray because of
>>>>>>
>>>>>> "Even if CLooG 0.16
>>>>>> does not use PPL, PPL is still required for Graphite."
>>>>>>
>>>>>
>>>>> It makes no senses.  I installed ppl 0,11 and cloog 0.16.1. I got
>>>>>
>>>>> checking for version 0.11 (or later revision) of PPL... yes
>>>>> checking for installed CLooG PPL Legacy... no
>>>>> configure: error: Unable to find a usable CLooG.  See config.log for
>>>>> details.
>>>>>
>>>>> configure:5881: gcc -m32 -o conftest -g -I/opt/gnu/include
>>>>> -I/opt/gnu/include   -DCLOOG_INT_GMP -DCLOOG_ORG  -L/opt/gnu/lib
>>>>> -L/opt/gnu/lib -lppl_c -lppl -lgmpxx conftest.c -lcloog>&5
>>>>> conftest.c: In function 'main':
>>>>> conftest.c:15:5: error: 'choke' undeclared (first use in this function)
>>>>
>>>>> [...]
>>>>>
>>>>> Why does it check cloog-ppl at all?
>>>>
>>>> Cloog 0.15 (known as cloog-ppl) is still the default. If you installed
>>>> cloog-0.16.1 (known as cloog-isl) you need to explicitly state that you want
>>>> a Cloog other than the default. This is done by
>>>> '--enable-cloog-backend=isl' in the configure.
>>>
>>> There is no working cloog ppl for cloog 0.16.1. Why do you make it
>>> the default for 0.16.1?
>>
>> Sorry for the confusion. There are those cloog versions available:
>>
>> cloog 0.15 (Also known as cloog-ppl)
>> cloog 0.16.1 (Also known as cloog-isl)
>> cloog-parma 0.16.1 (Also known as cloog-parma)
>
> Tobi,
>     Since gcc trunk now requires ppl>= 0.11, legacy cloog-ppl needs to
> also require cloog-ppl 0.15.10 since that is the only legacy cloog-ppl
> which can build against ppl 0.11. The tarball for cloog-ppl-0.15.10.tar.gz
> in infrastructure also needs to be fixed since it was created without
> autogen.sh having been run first.
>          Jack

OK. Thanks for pointing it out. I think there is still an ongoing 
discussion if ppl >= 0.11 is actually needed. Depending on the result of 
this discussion, this needs to be adjusted.

Tobi
Tobias Grosser Jan. 25, 2011, 4:50 p.m. UTC | #24
On 01/25/2011 11:46 AM, Jack Howarth wrote:
> On Tue, Jan 25, 2011 at 10:51:20AM -0500, Tobias Grosser wrote:
>> On 01/25/2011 10:45 AM, H.J. Lu wrote:
>>> On Tue, Jan 25, 2011 at 7:38 AM, Tobias Grosser
>>> <grosser@fim.uni-passau.de>   wrote:
>>>> On 01/25/2011 10:33 AM, H.J. Lu wrote:
>>>>>
>>>>> On Tue, Jan 25, 2011 at 6:53 AM, Richard Guenther
>>>>> <richard.guenther@gmail.com>     wrote:
>>>>>>
>>>>>> On Tue, Jan 25, 2011 at 3:49 PM, H.J. Lu<hjl.tools@gmail.com>     wrote:
>>>>
>>>>>>> [...]
>>>>>>
>>>>>> One less shared libraray because of
>>>>>>
>>>>>> "Even if CLooG 0.16
>>>>>> does not use PPL, PPL is still required for Graphite."
>>>>>>
>>>>>
>>>>> It makes no senses.  I installed ppl 0,11 and cloog 0.16.1. I got
>>>>>
>>>>> checking for version 0.11 (or later revision) of PPL... yes
>>>>> checking for installed CLooG PPL Legacy... no
>>>>> configure: error: Unable to find a usable CLooG.  See config.log for
>>>>> details.
>>>>>
>>>>> configure:5881: gcc -m32 -o conftest -g -I/opt/gnu/include
>>>>> -I/opt/gnu/include   -DCLOOG_INT_GMP -DCLOOG_ORG  -L/opt/gnu/lib
>>>>> -L/opt/gnu/lib -lppl_c -lppl -lgmpxx conftest.c -lcloog>&5
>>>>> conftest.c: In function 'main':
>>>>> conftest.c:15:5: error: 'choke' undeclared (first use in this function)
>>>>
>>>>> [...]
>>>>>
>>>>> Why does it check cloog-ppl at all?
>>>>
>>>> Cloog 0.15 (known as cloog-ppl) is still the default. If you installed
>>>> cloog-0.16.1 (known as cloog-isl) you need to explicitly state that you want
>>>> a Cloog other than the default. This is done by
>>>> '--enable-cloog-backend=isl' in the configure.
>>>
>>> There is no working cloog ppl for cloog 0.16.1. Why do you make it
>>> the default for 0.16.1?
>>
>> Sorry for the confusion. There are those cloog versions available:
>>
>> cloog 0.15 (Also known as cloog-ppl)
>> cloog 0.16.1 (Also known as cloog-isl)
>> cloog-parma 0.16.1 (Also known as cloog-parma)
>
> Tobi,
>     Since gcc trunk now requires ppl>= 0.11, legacy cloog-ppl needs to
> also require cloog-ppl 0.15.10 since that is the only legacy cloog-ppl
> which can build against ppl 0.11. The tarball for cloog-ppl-0.15.10.tar.gz
> in infrastructure also needs to be fixed since it was created without
> autogen.sh having been run first.
>          Jack
 >          Jack

OK. Thanks for pointing it out. I think there is still an ongoing 
discussion if ppl >= 0.11 is actually needed. Depending on the result of 
this discussion, this needs to be adjusted.

Tobi

P.S.: Now with everybody copied agian
Jack Howarth Jan. 25, 2011, 5:22 p.m. UTC | #25
On Tue, Jan 25, 2011 at 11:50:04AM -0500, Tobias Grosser wrote:
> On 01/25/2011 11:46 AM, Jack Howarth wrote:
>> On Tue, Jan 25, 2011 at 10:51:20AM -0500, Tobias Grosser wrote:
>>> On 01/25/2011 10:45 AM, H.J. Lu wrote:
>>>> On Tue, Jan 25, 2011 at 7:38 AM, Tobias Grosser
>>>> <grosser@fim.uni-passau.de>   wrote:
>>>>> On 01/25/2011 10:33 AM, H.J. Lu wrote:
>>>>>>
>>>>>> On Tue, Jan 25, 2011 at 6:53 AM, Richard Guenther
>>>>>> <richard.guenther@gmail.com>     wrote:
>>>>>>>
>>>>>>> On Tue, Jan 25, 2011 at 3:49 PM, H.J. Lu<hjl.tools@gmail.com>     wrote:
>>>>>
>>>>>>>> [...]
>>>>>>>
>>>>>>> One less shared libraray because of
>>>>>>>
>>>>>>> "Even if CLooG 0.16
>>>>>>> does not use PPL, PPL is still required for Graphite."
>>>>>>>
>>>>>>
>>>>>> It makes no senses.  I installed ppl 0,11 and cloog 0.16.1. I got
>>>>>>
>>>>>> checking for version 0.11 (or later revision) of PPL... yes
>>>>>> checking for installed CLooG PPL Legacy... no
>>>>>> configure: error: Unable to find a usable CLooG.  See config.log for
>>>>>> details.
>>>>>>
>>>>>> configure:5881: gcc -m32 -o conftest -g -I/opt/gnu/include
>>>>>> -I/opt/gnu/include   -DCLOOG_INT_GMP -DCLOOG_ORG  -L/opt/gnu/lib
>>>>>> -L/opt/gnu/lib -lppl_c -lppl -lgmpxx conftest.c -lcloog>&5
>>>>>> conftest.c: In function 'main':
>>>>>> conftest.c:15:5: error: 'choke' undeclared (first use in this function)
>>>>>
>>>>>> [...]
>>>>>>
>>>>>> Why does it check cloog-ppl at all?
>>>>>
>>>>> Cloog 0.15 (known as cloog-ppl) is still the default. If you installed
>>>>> cloog-0.16.1 (known as cloog-isl) you need to explicitly state that you want
>>>>> a Cloog other than the default. This is done by
>>>>> '--enable-cloog-backend=isl' in the configure.
>>>>
>>>> There is no working cloog ppl for cloog 0.16.1. Why do you make it
>>>> the default for 0.16.1?
>>>
>>> Sorry for the confusion. There are those cloog versions available:
>>>
>>> cloog 0.15 (Also known as cloog-ppl)
>>> cloog 0.16.1 (Also known as cloog-isl)
>>> cloog-parma 0.16.1 (Also known as cloog-parma)
>>
>> Tobi,
>>     Since gcc trunk now requires ppl>= 0.11, legacy cloog-ppl needs to
>> also require cloog-ppl 0.15.10 since that is the only legacy cloog-ppl
>> which can build against ppl 0.11. The tarball for cloog-ppl-0.15.10.tar.gz
>> in infrastructure also needs to be fixed since it was created without
>> autogen.sh having been run first.
>>          Jack
> >          Jack
>
> OK. Thanks for pointing it out. I think there is still an ongoing  
> discussion if ppl >= 0.11 is actually needed. Depending on the result of  
> this discussion, this needs to be adjusted.

Tobi,
      Requiring both ppl >= 0.11 and cloog-ppl 0.15.10 will have the
advantage of synchronizing both FSF gcc and cloog-ppl on the same ppl
ABI. On darwin, I found that using the old ppl ABI (0.10.2) with FSF gcc
and the new ppl ABI (0.11) with cloog-ppl breaks graphite badly. Oddly
the inverse works fine.
           Jack

>
> Tobi
>
> P.S.: Now with everybody copied agian
Jack Howarth Jan. 25, 2011, 11:53 p.m. UTC | #26
On Tue, Jan 25, 2011 at 11:50:04AM -0500, Tobias Grosser wrote:
> On 01/25/2011 11:46 AM, Jack Howarth wrote:
>>
>> Tobi,
>>     Since gcc trunk now requires ppl>= 0.11, legacy cloog-ppl needs to
>> also require cloog-ppl 0.15.10 since that is the only legacy cloog-ppl
>> which can build against ppl 0.11. The tarball for cloog-ppl-0.15.10.tar.gz
>> in infrastructure also needs to be fixed since it was created without
>> autogen.sh having been run first.
>>          Jack
> >          Jack
>
> OK. Thanks for pointing it out. I think there is still an ongoing  
> discussion if ppl >= 0.11 is actually needed. Depending on the result of  
> this discussion, this needs to be adjusted.

Tobi,
   Doesn't ppl 0.11 contain performance enhancements over ppl 0.10.2? In particular,
won't graphite benefit from the new "deterministic" timeout computation facilities
in ppl 0.11 to prevent exponential behavior or doesn't it utilize that feature yet?
            Jack

>
> Tobi
>
> P.S.: Now with everybody copied agian
Ryan Hill Jan. 27, 2011, 4:05 a.m. UTC | #27
On Tue, 25 Jan 2011 12:22:24 -0500
Jack Howarth <howarth@bromo.med.uc.edu> wrote:

>       Requiring both ppl >= 0.11 and cloog-ppl 0.15.10 will have the
> advantage of synchronizing both FSF gcc and cloog-ppl on the same ppl
> ABI. On darwin, I found that using the old ppl ABI (0.10.2) with FSF gcc
> and the new ppl ABI (0.11) with cloog-ppl breaks graphite badly. Oddly
> the inverse works fine.

Yeah I found the same thing out by accident.  Because of this and that awful
SONAME change I'm forcing all GCC versions supporting graphite to use PPL 0.11
in Gentoo and dropping the 0.10 series as soon as I can.
diff mbox

Patch

--- configure.ac        2011-01-25 12:58:42.145421312 +0100
+++ configure.ac   2011-01-25 14:10:47.473670333 +0100
@@ -1688,13 +1688,12 @@  dnl Provide configure switches and initi
 dnl with user input.
 CLOOG_INIT_FLAGS
 if test "x$with_ppl" = "xno"; then
-  with_cloog=no
-
   dnl Only execute fail-action, if CLooG has been requested.
   CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
-  if test "${graphite_requested}" = yes; then
+  if test "${graphite_requested}" = yes -a "x${with_cloog}" != xno; then
     AC_MSG_ERROR([Unable to find a usable PPL.  See config.log for
details.])]
   fi
+  with_cloog=no
 fi
 if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \