Hi,
Consider testcase test.c:
...
int kw = -1, hv = -1, ju;
int mc[1];
void
foo (void)
{
for (; kw; ++kw)
for (; hv; ++hv)
for (ju = 0; ju < 2; ++ju)
mc[kw+1] = mc[0];
}
...
When compiled with -O2 -fgraphite-identity, we run into an ICE:
...
test.c: In function ‘foo’:
On Fri, Jan 15, 2016 at 7:58 AM, Tom de Vries wrote:
> During scop detection/canonicalize_loop_closed_ssa_form, an exit phi is
> introduced in the loop for _24:
> ...
> :
> # _58 = PHI <_24(22)>
> ...
> Note that _24 is not defined in the loop, but before it. AFAIU the
On Fri, Jan 15, 2016 at 11:19 AM, Sebastian Pop wrote:
> On Fri, Jan 15, 2016 at 7:58 AM, Tom de Vries wrote:
>> During scop detection/canonicalize_loop_closed_ssa_form, an exit phi is
>> introduced in the loop for _24:
>> ...
>> :
>> # _58 = PHI