[Bug tree-optimization/71506] [5 Regression] ICE with libvpx with -floop-interchange: isl_constraint.c:627: expecting integer value

2017-10-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71506

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution|--- |FIXED
   Target Milestone|5.5 |6.0

--- Comment #10 from Jakub Jelinek  ---
GCC 5 branch has been closed, should be fixed in GCC 6 and later.

[Bug tree-optimization/71506] [5 Regression] ICE with libvpx with -floop-interchange: isl_constraint.c:627: expecting integer value

2016-12-01 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71506

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2

[Bug tree-optimization/71506] [5 Regression] ICE with libvpx with -floop-interchange: isl_constraint.c:627: expecting integer value

2016-08-28 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71506

--- Comment #9 from Tom de Vries  ---
(In reply to Tom de Vries from comment #8)
> (In reply to Tom de Vries from comment #7)
> > (In reply to Tom de Vries from comment #6)
> > > Hmm, at r225942 I read:
> > 
> > Patch applies cleanly to 5 branch and fixes ICEs for original and minimal
> > test-cases.
> 
> Doing an x86_64 bootstrap and reg-test on top of 5 branch.

That went ok.

Started backport discussion at
https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01924.html .

[Bug tree-optimization/71506] [5 Regression] ICE with libvpx with -floop-interchange: isl_constraint.c:627: expecting integer value

2016-08-28 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71506

--- Comment #8 from Tom de Vries  ---
(In reply to Tom de Vries from comment #7)
> (In reply to Tom de Vries from comment #6)
> > Hmm, at r225942 I read:
> 
> Patch applies cleanly to 5 branch and fixes ICEs for original and minimal
> test-cases.

Doing an x86_64 bootstrap and reg-test on top of 5 branch.

[Bug tree-optimization/71506] [5 Regression] ICE with libvpx with -floop-interchange: isl_constraint.c:627: expecting integer value

2016-08-25 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71506

--- Comment #7 from Tom de Vries  ---
(In reply to Tom de Vries from comment #6)
> Hmm, at r225942 I read:

Patch applies cleanly to 5 branch and fixes ICEs for original and minimal
test-cases.

[Bug tree-optimization/71506] [5 Regression] ICE with libvpx with -floop-interchange: isl_constraint.c:627: expecting integer value

2016-08-25 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71506

--- Comment #6 from Tom de Vries  ---
Hmm, at r225942 I read:
...
[graphite] fix pr61929

This fixes bootstrap of GCC with BOOT_CFLAGS="-g -O2 -fgraphite-identity
-floop-nest-optimize -floop-block -floop-interchange -floop-strip-mine".  It
passes regstrap on amd64-linux.  A previous change
(https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=213816), replaced
isl_int with isl_val because isl_int would be deprecated. Since isl_val has
stricter checks, it exposed the bug.  In the test case (isl_set_max_val) would
return infinity which would remain unchecked.  We now check if the value
returned is an integer or not, and bail out if it isn't.
...

This seems to be a duplicate of PR61929.[ If we mark this as a duplicate, we
should re-open PR61929 and mark it as 5 regression. ]

[Bug tree-optimization/71506] [5 Regression] ICE with libvpx with -floop-interchange: isl_constraint.c:627: expecting integer value

2016-08-25 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71506

Tom de Vries  changed:

   What|Removed |Added

   Target Milestone|--- |5.5

[Bug tree-optimization/71506] [5 Regression] ICE with libvpx with -floop-interchange: isl_constraint.c:627: expecting integer value

2016-08-25 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71506

--- Comment #5 from Tom de Vries  ---
(In reply to Martin Liška from comment #2)
> Current trunk, as well as GCC 6.1.1 works fine.

This is a problem in loop-interchange.c, which was removed in the 6 release
(https://gcc.gnu.org/ml/gcc-patches/2015-08/msg01651.html).

[Bug tree-optimization/71506] [5 Regression] ICE with libvpx with -floop-interchange: isl_constraint.c:627: expecting integer value

2016-08-25 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71506

--- Comment #4 from Tom de Vries  ---
At the first call to build_linearized_memory_access, at the 3rd loop iteration
we have:
...
(gdb) 
133   subsize = isl_set_max_val (pdr->extent, aff);
(gdb) call (char *)
isl_printer_get_str(isl_printer_print_set(isl_printer_to_str(ctx),
pdr->extent))
$5 = 0x30f6b90 "{ [1, i1, i2, i3, i4] : i4 >= 0 and i1 >= 0 and i2 >= 0 and i3
>= 0 and i4 <= 1 and i3 <= 1 }"
(gdb) call (char *)
isl_printer_get_str(isl_printer_print_aff(isl_printer_to_str(ctx), aff))
$6 = 0x30f5e30 "{ [i0, i1, i2, i3, i4] -> [(i2)] }"
(gdb) n
134   isl_aff_free (aff);
(gdb) call (char *)
isl_printer_get_str(isl_printer_print_val(isl_printer_to_str(ctx), subsize))
$7 = 0x30f8f00 "infty"
...

The infinity in subsize is propagated to size, and then 'res =
isl_constraint_set_coefficient_val (res, isl_dim_out, offset + i, size)' ICEs
because isl_constraint_set_coefficient_val expects the last argument to be an
int.


In 5.0, subsize is an isl_val:
...
  isl_val *subsize;
  ...
  subsize = isl_set_max_val (pdr->extent, aff);
...

But in 4.9, subsize is an isl_int:
...
  isl_int subsize;
  ...
  isl_set_max (pdr->extent, aff, &subsize);
...
And at the same point in execution, subsize is 1 instead of infty (which seems
to be caused by subsize being 1 before the call, and isl_set_max not having an
effect, which sound fishy).