OSDN Git Service

* cse.c (cse_insn): Avoid invalid sharing on trial replacement.
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 9 Jul 2007 10:22:36 +0000 (10:22 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 9 Jul 2007 10:22:36 +0000 (10:22 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126481 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cse.c

index a98964b..daa2d94 100644 (file)
@@ -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.
index d79ad68..234bcc7 100644 (file)
--- 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);