Commit fd4a56ff by Sebastian Pop Committed by Sebastian Pop

re PR tree-optimization/42521 (ICE: in graphite_loop_normal_form, at graphite-sese-to-poly.c:2844)

Fix PR42521.

2010-01-07  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/42521
	* graphite.c (graphite_finalize): Call scev_reset.
	(graphite_transform_loops): Do not call scev_reset between the code
	generation of scops.

	* testsuite/gcc.dg/graphite/pr42521.c: New.

From-SVN: r155728
parent eaffa762
2010-01-07 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/42521
* graphite.c (graphite_finalize): Call scev_reset.
(graphite_transform_loops): Do not call scev_reset between the code
generation of scops.
* testsuite/gcc.dg/graphite/pr42521.c: New.
2010-01-07 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (memory_stride_in_loop): Renamed
pdr_stride_in_loop.
(memory_strides_in_loop): Renamed memory_strides_in_loop_1.
......
......@@ -228,6 +228,7 @@ graphite_finalize (bool need_cfg_cleanup_p)
{
if (need_cfg_cleanup_p)
{
scev_reset ();
cleanup_tree_cfg ();
profile_status = PROFILE_ABSENT;
release_recorded_exits ();
......@@ -279,10 +280,7 @@ graphite_transform_loops (void)
check_poly_representation (scop);
if (transform_done)
{
scev_reset ();
need_cfg_cleanup_p = true;
}
need_cfg_cleanup_p = true;
}
htab_delete (bb_pbb_mapping);
......
/* { dg-options "-O3 -fgraphite-identity" } */
extern int *A;
extern int B[][4];
void foo(int im, int jm, int cond)
{
int i, j;
if (cond)
for (i = 0; i < 256; i++)
A[i] = 0;
for (i = 0; i < im; i++)
for (j = 1; j < jm; j++)
if (jm != 8 || j != jm >> 1)
B[j][0] ^= B[j-1][0];
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment