aboutsummaryrefslogtreecommitdiff
path: root/gcc/ira.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-05-23 08:37:24 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-05-23 08:37:24 +0000
commita55757eae4c6711e558143595cbbfad97550b3e0 (patch)
tree637da4fafb87f6dde34b1cfa4bd4ab35daa6d28d /gcc/ira.c
parent406bdd7d8f70615ea6fa2131f0aca6e8ad00e8b2 (diff)
downloadgcc-a55757eae4c6711e558143595cbbfad97550b3e0.zip
gcc-a55757eae4c6711e558143595cbbfad97550b3e0.tar.gz
gcc-a55757eae4c6711e558143595cbbfad97550b3e0.tar.bz2
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
Diffstat (limited to 'gcc/ira.c')
-rw-r--r--gcc/ira.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ira.c b/gcc/ira.c
index a8631c9..ff901aa 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -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;
}