OSDN Git Service

PR rtl-optimization/34408
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Feb 2008 17:11:12 +0000 (17:11 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Feb 2008 17:11:12 +0000 (17:11 +0000)
* see.c (see_def_extension_not_merged): Copy subreg so we don't have invalid sharing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132440 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/see.c

index 1589844..4f53e48 100644 (file)
@@ -1,5 +1,10 @@
 2008-02-19  Jan Hubicka  <jh@suse.cz>
 
+       PR rtl-optimization/34408
+       * see.c (see_def_extension_not_merged): Copy subreg so we don't have invalid sharing.
+
+2008-02-19  Jan Hubicka  <jh@suse.cz>
+
        PR middle-end/28779
        * tree-inline.c (estimate_num_insns_1): Fix counting of cost of call_expr.
 
index 8191b2d..d932f51 100644 (file)
--- a/gcc/see.c
+++ b/gcc/see.c
@@ -2508,7 +2508,7 @@ see_def_extension_not_merged (struct see_ref_s *curr_ref_s, rtx def_se)
   d.to = new_pseudo_reg;
   note_uses (&PATTERN (ref_copy), see_replace_src, &d);
   /* Step b: Replace every instance of dest_reg with the subreg.  */
-  ref_copy = replace_rtx (ref_copy, dest_reg, subreg);
+  ref_copy = replace_rtx (ref_copy, dest_reg, copy_rtx (subreg));
 
   /* Step c: Replace every use of the new pseudo register back to
      dest_real_reg.  */