diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2004-10-18 15:11:31 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2004-10-18 15:11:31 +0000 |
commit | a2041967826c644f860ec12c6f32214b1e3d3899 (patch) | |
tree | e0aded8319864b2cb6fac4df0732bb5ee1995039 /gcc/resource.c | |
parent | 2ddfd02523ee86ac14fd053bee5a7c30f6f1f602 (diff) | |
download | gcc-a2041967826c644f860ec12c6f32214b1e3d3899.zip gcc-a2041967826c644f860ec12c6f32214b1e3d3899.tar.gz gcc-a2041967826c644f860ec12c6f32214b1e3d3899.tar.bz2 |
basic-block.h (reg_set_iterator): New.
* basic-block.h (reg_set_iterator): New.
(EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
(EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
(EXECUTE_IF_AND_IN_REG_SET): Likewise.
* caller-save.c (save_call_clobbered_regs): Adjust to the new
style.
* cfgcleanup.c (thread_jump): Likewise.
* cfgrtl.c (safe_insert_insn_on_edge): Likewise.
* conflict.c (conflict_graph_compute): Likewise.
* flow.c (verify_local_live_at_start, update_life_info,
initialize_uninitialized_subregs, propagate_one_insn,
init_propagate_block_info, free_propagate_block_info,
propagate_block, dump_regset): Likewise.
* global.c (global_conflicts): Likewise.
* graph.c (start_bb): Likewise.
* local-alloc.c (update_equiv_regs): Likewise.
* loop.c (load_mems): Likewise.
* reload1.c (compute_use_by_pseudos, order_regs_for_reload,
find_reg, finish_spills): Likewise.
* resource.c (mark_target_live_regs): Likewise.
* sched-deps.c (sched_analyze_insn): Likewise.
* sched-rgn.c (sched-rgn.c): Likewise.
* config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
From-SVN: r89226
Diffstat (limited to 'gcc/resource.c')
-rw-r--r-- | gcc/resource.c | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/gcc/resource.c b/gcc/resource.c index 7d6bbb7..08e940c 100644 --- a/gcc/resource.c +++ b/gcc/resource.c @@ -971,6 +971,7 @@ mark_target_live_regs (rtx insns, rtx target, struct resources *res) unsigned int j; unsigned int regno; rtx start_insn, stop_insn; + reg_set_iterator rsi; /* Compute hard regs live at start of block -- this is the real hard regs marked live, plus live pseudo regs that have been renumbered to @@ -978,19 +979,17 @@ mark_target_live_regs (rtx insns, rtx target, struct resources *res) REG_SET_TO_HARD_REG_SET (current_live_regs, regs_live); - EXECUTE_IF_SET_IN_REG_SET - (regs_live, FIRST_PSEUDO_REGISTER, i, - { - if (reg_renumber[i] >= 0) - { - regno = reg_renumber[i]; - for (j = regno; - j < regno + hard_regno_nregs[regno] - [PSEUDO_REGNO_MODE (i)]; - j++) - SET_HARD_REG_BIT (current_live_regs, j); - } - }); + EXECUTE_IF_SET_IN_REG_SET (regs_live, FIRST_PSEUDO_REGISTER, i, rsi) + { + if (reg_renumber[i] >= 0) + { + regno = reg_renumber[i]; + for (j = regno; + j < regno + hard_regno_nregs[regno][PSEUDO_REGNO_MODE (i)]; + j++) + SET_HARD_REG_BIT (current_live_regs, j); + } + } /* Get starting and ending insn, handling the case where each might be a SEQUENCE. */ |