tree-vect-loop-manip.c (rename_variables_in_bb): Rename PHI nodes when copying loop nest with only one inner loop.

* tree-vect-loop-manip.c (rename_variables_in_bb): Rename PHI nodes
	when copying loop nest with only one inner loop.

	gcc/testsuite
	* gcc.dg/tree-ssa/ldist-34.c: New test.

From-SVN: r253586
This commit is contained in:
Bin Cheng 2017-10-10 13:58:30 +00:00 committed by Bin Cheng
parent fb1fe1f3cc
commit 2fe1a1b888
4 changed files with 24 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2017-10-10 Bin Cheng <bin.cheng@arm.com>
* tree-vect-loop-manip.c (rename_variables_in_bb): Rename PHI nodes
when copying loop nest with only one inner loop.
2017-10-10 Richard Biener <rguenther@suse.de>
* tree-cfgcleanup.c (cleanup_tree_cfg_noloop): Avoid compacting

View file

@ -1,3 +1,7 @@
2017-10-10 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/tree-ssa/ldist-34.c: New test.
2017-10-10 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/tree-ssa/ldist-27.c: New test.

View file

@ -0,0 +1,15 @@
/* { dg-do compile } */
/* { dg-options "-O2 -ftree-loop-distribution" } */
#define X (3.0)
int b, c;
double a[30000];
int foo () {
for (int i = 0; i < 100; ++i) {
for (int j = 0; j < c; ++j)
if (b)
a[0] = b;
a[i * 100] = a[1] = X;
}
return 0;
}

View file

@ -117,8 +117,6 @@ rename_variables_in_bb (basic_block bb, bool rename_from_outer_loop)
|| single_pred (e->src) != outer_loop->header)
continue;
}
else
continue;
}
}
for (gphi_iterator gsi = gsi_start_phis (bb); !gsi_end_p (gsi);