aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2007-07-09 10:22:36 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2007-07-09 10:22:36 +0000
commitd241cd48e0e43ac4f3db513e32e0b66805b4a87f (patch)
tree7f415ab33153ec679e311d8c4d75983018a8062a /gcc
parentf967586f51957145975ede931f0540f5af3a94fe (diff)
downloadgcc-d241cd48e0e43ac4f3db513e32e0b66805b4a87f.zip
gcc-d241cd48e0e43ac4f3db513e32e0b66805b4a87f.tar.gz
gcc-d241cd48e0e43ac4f3db513e32e0b66805b4a87f.tar.bz2
* cse.c (cse_insn): Avoid invalid sharing on trial replacement.
From-SVN: r126481
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/cse.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a98964b..daa2d94 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2007-07-09 Jan HUbicka <jh@suse.cz>
+
+ * cse.c (cse_insn): Avoid invalid sharing on trial replacement.
+
2007-07-09 Richard Guenther <rguenther@suse.de>
* c-decl.c (start_function): Do not promote return type.
diff --git a/gcc/cse.c b/gcc/cse.c
index d79ad68..234bcc7 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -4830,7 +4830,8 @@ cse_insn (rtx insn, rtx libcall_insn)
;
/* Look for a substitution that makes a valid insn. */
- else if (validate_change (insn, &SET_SRC (sets[i].rtl), trial, 0))
+ else if (validate_unshare_change
+ (insn, &SET_SRC (sets[i].rtl), trial, 0))
{
rtx new = canon_reg (SET_SRC (sets[i].rtl), insn);