aboutsummaryrefslogtreecommitdiff
path: root/gcc/cse.c
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/cse.c
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/cse.c')
-rw-r--r--gcc/cse.c3
1 files changed, 2 insertions, 1 deletions
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);