diff options
author | Geoff Keating <geoffk@cygnus.com> | 2000-01-27 20:46:26 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 2000-01-27 20:46:26 +0000 |
commit | d1b817796193461ca8a39cc93c9662fd9fb3c5c7 (patch) | |
tree | a362d5dd6e2bf7c8fcd3a6b2b1e94b123120c60d /gcc/function.c | |
parent | 3bc9f12b33e84053451bac3b5f817526c3792627 (diff) | |
download | gcc-d1b817796193461ca8a39cc93c9662fd9fb3c5c7.zip gcc-d1b817796193461ca8a39cc93c9662fd9fb3c5c7.tar.gz gcc-d1b817796193461ca8a39cc93c9662fd9fb3c5c7.tar.bz2 |
emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too.
* emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too.
Use unshare_all_rtl_1.
(unshare_all_rtl_again): New function.
(unshare_all_rtl_1): New function split out of unshare_all_rtl.
* function.c (purge_addressof_1): Use unshare_all_rtl_again
rather than resetting the 'used' flags ourself.
* toplev.c (rest_of_compilation): Add current_function_decl
to the unshare_all_rtl call.
* tree.h: Prototype unshare_all_rtl.
* rtl.h: Prototype unshare_all_rtl_again here.
From-SVN: r31651
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/gcc/function.c b/gcc/function.c index 9006d16..8339208 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -2972,13 +2972,7 @@ purge_addressof_1 (loc, insn, force, store, ht) /* Make sure to unshare any shared rtl that store_bit_field might have created. */ - for (p = get_insns(); p; p = NEXT_INSN (p)) - { - reset_used_flags (PATTERN (p)); - reset_used_flags (REG_NOTES (p)); - reset_used_flags (LOG_LINKS (p)); - } - unshare_all_rtl (get_insns ()); + unshare_all_rtl_again (get_insns ()); seq = gen_sequence (); end_sequence (); |