diff options
author | Alexandre Oliva <aoliva@cygnus.com> | 2000-05-20 20:18:19 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2000-05-20 20:18:19 +0000 |
commit | 242b0ce6533bf8e73ee9279b44cb7db4b75ac46b (patch) | |
tree | 91b131f5c8b7d0ac54ba391daae578e24a9d35b7 /gcc | |
parent | a8228686d606a5611cd5b3a41465f29e535837b2 (diff) | |
download | gcc-242b0ce6533bf8e73ee9279b44cb7db4b75ac46b.zip gcc-242b0ce6533bf8e73ee9279b44cb7db4b75ac46b.tar.gz gcc-242b0ce6533bf8e73ee9279b44cb7db4b75ac46b.tar.bz2 |
* emit-rtl.c (unshare_all_rtl): Store the copied rtx.
From-SVN: r34056
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/emit-rtl.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 817424a..9d178f6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2000-05-20 Alexandre Oliva <aoliva@cygnus.com> + + * emit-rtl.c (unshare_all_rtl): Store the copied rtx. + 2000-05-20 Zack Weinberg <zack@wolery.cumb.org> * diagnostic.c: Eliminate implicit int. diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 12ba67f..2123701 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -1695,7 +1695,7 @@ unshare_all_rtl (fndecl, insn) /* Make sure that virtual parameters are not shared. */ for (decl = DECL_ARGUMENTS (fndecl); decl; decl = TREE_CHAIN (decl)) - copy_rtx_if_shared (DECL_RTL (decl)); + DECL_RTL (decl) = copy_rtx_if_shared (DECL_RTL (decl)); /* Unshare just about everything else. */ unshare_all_rtl_1 (insn); @@ -1707,7 +1707,7 @@ unshare_all_rtl (fndecl, insn) This special care is necessary when the stack slot MEM does not actually appear in the insn chain. If it does appear, its address is unshared from all else at that point. */ - copy_rtx_if_shared (stack_slot_list); + stack_slot_list = copy_rtx_if_shared (stack_slot_list); } /* Go through all the RTL insn bodies and copy any invalid shared |