Commit a55757ea by Richard Biener Committed by Richard Biener

re PR target/57341 (wrong code on x86_64-linux at -O3 in 32-bit mode)

2013-05-23  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/57341
	* ira.c (validate_equiv_mem_from_store): Use anti_dependence
	instead of true_dependence.

	* gcc.dg/torture/pr57341.c: New testcase.

From-SVN: r199237
parent 406bdd7d
2013-05-23 Richard Biener <rguenther@suse.de>
PR rtl-optimization/57341
* ira.c (validate_equiv_mem_from_store): Use anti_dependence
instead of true_dependence.
2013-05-22 David Malcolm <dmalcolm@redhat.com>
* bb-reorder.c (branch_threshold): make const
......
......@@ -2520,7 +2520,7 @@ validate_equiv_mem_from_store (rtx dest, const_rtx set ATTRIBUTE_UNUSED,
if ((REG_P (dest)
&& reg_overlap_mentioned_p (dest, equiv_mem))
|| (MEM_P (dest)
&& true_dependence (dest, VOIDmode, equiv_mem)))
&& anti_dependence (equiv_mem, dest)))
equiv_mem_modified = 1;
}
......
2013-05-23 Richard Biener <rguenther@suse.de>
PR rtl-optimization/57341
* gcc.dg/torture/pr57341.c: New testcase.
2013-05-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57352
......
/* { dg-do run } */
/* { dg-additional-options "-msse" { target sse2_runtime } } */
int a, d;
int *b = &a, **c;
int
main ()
{
int e;
{
int f[4];
for (d = 0; d < 4; d++)
f[d] = 1;
e = f[1];
}
int *g[28] = { };
*b = e;
c = &g[0];
if (a != 1)
__builtin_abort ();
return 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