From d241cd48e0e43ac4f3db513e32e0b66805b4a87f Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Mon, 9 Jul 2007 10:22:36 +0000 Subject: [PATCH] * cse.c (cse_insn): Avoid invalid sharing on trial replacement. From-SVN: r126481 --- gcc/ChangeLog | 4 ++++ gcc/cse.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a98964b9dc1..daa2d947d7b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2007-07-09 Jan HUbicka + + * cse.c (cse_insn): Avoid invalid sharing on trial replacement. + 2007-07-09 Richard Guenther * c-decl.c (start_function): Do not promote return type. diff --git a/gcc/cse.c b/gcc/cse.c index d79ad68ac78..234bcc7bfe6 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);