aboutsummaryrefslogtreecommitdiff
path: root/gcc/resource.c
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2004-10-18 15:11:31 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2004-10-18 15:11:31 +0000
commita2041967826c644f860ec12c6f32214b1e3d3899 (patch)
treee0aded8319864b2cb6fac4df0732bb5ee1995039 /gcc/resource.c
parent2ddfd02523ee86ac14fd053bee5a7c30f6f1f602 (diff)
downloadgcc-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.c25
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. */