emit-rtl.c (reset_used_decls): Rename to...
gcc/ * emit-rtl.c (reset_used_decls): Rename to... (set_used_decls): ...this. Set the used flag rather than clearing it. (unshare_all_rtl_again): Update accordingly. Set flags on argument DECL_RTLs rather than resetting them. From-SVN: r127153
This commit is contained in:
parent
a15da80d33
commit
5eb2a9f2cf
@ -1,3 +1,10 @@
|
||||
2007-08-02 Richard Sandiford <richard@codesourcery.com>
|
||||
|
||||
* emit-rtl.c (reset_used_decls): Rename to...
|
||||
(set_used_decls): ...this. Set the used flag rather than clearing it.
|
||||
(unshare_all_rtl_again): Update accordingly. Set flags on argument
|
||||
DECL_RTLs rather than resetting them.
|
||||
|
||||
2007-08-02 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* config/s390/s390.md ("*xordi3_cconly"): Change xr to xg.
|
||||
|
@ -167,7 +167,7 @@ static GTY ((if_marked ("ggc_marked_p"), param_is (struct rtx_def)))
|
||||
|
||||
static rtx make_call_insn_raw (rtx);
|
||||
static rtx change_address_1 (rtx, enum machine_mode, rtx, int);
|
||||
static void reset_used_decls (tree);
|
||||
static void set_used_decls (tree);
|
||||
static void mark_label_nuses (rtx);
|
||||
static hashval_t const_int_htab_hash (const void *);
|
||||
static int const_int_htab_eq (const void *, const void *);
|
||||
@ -2160,11 +2160,11 @@ unshare_all_rtl_again (rtx insn)
|
||||
}
|
||||
|
||||
/* Make sure that virtual stack slots are not shared. */
|
||||
reset_used_decls (DECL_INITIAL (cfun->decl));
|
||||
set_used_decls (DECL_INITIAL (cfun->decl));
|
||||
|
||||
/* Make sure that virtual parameters are not shared. */
|
||||
for (decl = DECL_ARGUMENTS (cfun->decl); decl; decl = TREE_CHAIN (decl))
|
||||
reset_used_flags (DECL_RTL (decl));
|
||||
set_used_flags (DECL_RTL (decl));
|
||||
|
||||
reset_used_flags (stack_slot_list);
|
||||
|
||||
@ -2353,20 +2353,28 @@ unshare_all_rtl_in_chain (rtx insn)
|
||||
}
|
||||
|
||||
/* Go through all virtual stack slots of a function and mark them as
|
||||
not shared. */
|
||||
shared. We never replace the DECL_RTLs themselves with a copy,
|
||||
but expressions mentioned into a DECL_RTL cannot be shared with
|
||||
expressions in the instruction stream.
|
||||
|
||||
Note that reload may convert pseudo registers into memories in-place.
|
||||
Pseudo registers are always shared, but MEMs never are. Thus if we
|
||||
reset the used flags on MEMs in the instruction stream, we must set
|
||||
them again on MEMs that appear in DECL_RTLs. */
|
||||
|
||||
static void
|
||||
reset_used_decls (tree blk)
|
||||
set_used_decls (tree blk)
|
||||
{
|
||||
tree t;
|
||||
|
||||
/* Mark decls. */
|
||||
for (t = BLOCK_VARS (blk); t; t = TREE_CHAIN (t))
|
||||
if (DECL_RTL_SET_P (t))
|
||||
reset_used_flags (DECL_RTL (t));
|
||||
set_used_flags (DECL_RTL (t));
|
||||
|
||||
/* Now process sub-blocks. */
|
||||
for (t = BLOCK_SUBBLOCKS (blk); t; t = TREE_CHAIN (t))
|
||||
reset_used_decls (t);
|
||||
set_used_decls (t);
|
||||
}
|
||||
|
||||
/* Mark ORIG as in use, and return a copy of it if it was already in use.
|
||||
|
Loading…
x
Reference in New Issue
Block a user