From f82220c24bb2d80fdce9eaf5fbbad33f06d9e25e Mon Sep 17 00:00:00 2001 From: hubicka Date: Tue, 19 Feb 2008 17:11:12 +0000 Subject: [PATCH] PR rtl-optimization/34408 * 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 | 5 +++++ gcc/see.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1589844..4f53e48 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2008-02-19 Jan Hubicka + 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 + PR middle-end/28779 * tree-inline.c (estimate_num_insns_1): Fix counting of cost of call_expr. diff --git a/gcc/see.c b/gcc/see.c index 8191b2d..d932f51 100644 --- 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. */ -- 2.7.4