mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-24 16:25:56 +08:00
re PR tree-optimization/58955 (wrong code at -O3 on x86_64-linux-gnu)
2013-11-05 Richard Biener <rguenther@suse.de> PR tree-optimization/58955 * tree-loop-distribution.c (pg_add_dependence_edges): Fix edge direction. * gcc.dg/torture/pr58955-1.c: New testcase. * gcc.dg/torture/pr58955-2.c: Likewise. From-SVN: r204398
This commit is contained in:
parent
186bc28703
commit
d8f4f4db4b
@ -1,3 +1,9 @@
|
||||
2013-11-05 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/58955
|
||||
* tree-loop-distribution.c (pg_add_dependence_edges): Fix
|
||||
edge direction.
|
||||
|
||||
2013-11-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||||
|
||||
* config/rs6000/vector.md (vec_pack_sfix_trunc_v2df): Adjust for
|
||||
|
@ -1,3 +1,9 @@
|
||||
2013-11-05 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/58955
|
||||
* gcc.dg/torture/pr58955-1.c: New testcase.
|
||||
* gcc.dg/torture/pr58955-2.c: Likewise.
|
||||
|
||||
2013-11-05 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR middle-end/58981
|
||||
|
20
gcc/testsuite/gcc.dg/torture/pr58955-1.c
Normal file
20
gcc/testsuite/gcc.dg/torture/pr58955-1.c
Normal file
@ -0,0 +1,20 @@
|
||||
/* { dg-do run } */
|
||||
|
||||
extern void abort (void);
|
||||
|
||||
int a, b, c, d[4] = { 0, 0, 0, 1 };
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
for (; a < 4; a++)
|
||||
{
|
||||
int e = d[a];
|
||||
for (c = 1; c < 1; c++);
|
||||
b = e;
|
||||
d[a] = 0;
|
||||
}
|
||||
if (b != 1)
|
||||
abort ();
|
||||
return 0;
|
||||
}
|
18
gcc/testsuite/gcc.dg/torture/pr58955-2.c
Normal file
18
gcc/testsuite/gcc.dg/torture/pr58955-2.c
Normal file
@ -0,0 +1,18 @@
|
||||
/* { dg-do run } */
|
||||
|
||||
extern void abort (void);
|
||||
|
||||
int a, b[10];
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
for (; a < 2; a++)
|
||||
{
|
||||
b[a] = 1;
|
||||
b[a + 1] = 0;
|
||||
}
|
||||
if (b[1] != 1)
|
||||
abort ();
|
||||
return 0;
|
||||
}
|
@ -1324,7 +1324,7 @@ pg_add_dependence_edges (struct graph *rdg, vec<loop_p> loops, int dir,
|
||||
for (int ii = 0; drs1.iterate (ii, &dr1); ++ii)
|
||||
for (int jj = 0; drs2.iterate (jj, &dr2); ++jj)
|
||||
{
|
||||
int this_dir = 1;
|
||||
int this_dir = -1;
|
||||
ddr_p ddr;
|
||||
/* Re-shuffle data-refs to be in dominator order. */
|
||||
if (rdg_vertex_for_stmt (rdg, DR_STMT (dr1))
|
||||
|
Loading…
Reference in New Issue
Block a user