diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cse.c | 3 |
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. @@ -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); |