diff options
author | kazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-18 15:11:31 +0000 |
---|---|---|
committer | kazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-18 15:11:31 +0000 |
commit | 8c97cf13879a4874c4e3ae954056fef4e3a3fafa (patch) | |
tree | e0aded8319864b2cb6fac4df0732bb5ee1995039 /gcc/caller-save.c | |
parent | b4620157c3800fe19422bd4c4151827fb37cc246 (diff) | |
download | gcc-8c97cf13879a4874c4e3ae954056fef4e3a3fafa.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89226 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/caller-save.c')
-rw-r--r-- | gcc/caller-save.c | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/gcc/caller-save.c b/gcc/caller-save.c index 53446f38ec3..55a825efe4e 100644 --- a/gcc/caller-save.c +++ b/gcc/caller-save.c @@ -410,6 +410,7 @@ save_call_clobbered_regs (void) { int regno; HARD_REG_SET hard_regs_to_save; + reg_set_iterator rsi; /* Use the register life information in CHAIN to compute which regs are live during the call. */ @@ -425,22 +426,22 @@ save_call_clobbered_regs (void) /* Look through all live pseudos, mark their hard registers and choose proper mode for saving. */ EXECUTE_IF_SET_IN_REG_SET - (&chain->live_throughout, FIRST_PSEUDO_REGISTER, regno, - { - int r = reg_renumber[regno]; - int nregs; - enum machine_mode mode; - - gcc_assert (r >= 0); - nregs = hard_regno_nregs[r][PSEUDO_REGNO_MODE (regno)]; - mode = HARD_REGNO_CALLER_SAVE_MODE - (r, nregs, PSEUDO_REGNO_MODE (regno)); - if (GET_MODE_BITSIZE (mode) - > GET_MODE_BITSIZE (save_mode[r])) - save_mode[r] = mode; - while (nregs-- > 0) - SET_HARD_REG_BIT (hard_regs_to_save, r + nregs); - }); + (&chain->live_throughout, FIRST_PSEUDO_REGISTER, regno, rsi) + { + int r = reg_renumber[regno]; + int nregs; + enum machine_mode mode; + + gcc_assert (r >= 0); + nregs = hard_regno_nregs[r][PSEUDO_REGNO_MODE (regno)]; + mode = HARD_REGNO_CALLER_SAVE_MODE + (r, nregs, PSEUDO_REGNO_MODE (regno)); + if (GET_MODE_BITSIZE (mode) + > GET_MODE_BITSIZE (save_mode[r])) + save_mode[r] = mode; + while (nregs-- > 0) + SET_HARD_REG_BIT (hard_regs_to_save, r + nregs); + } /* Record all registers set in this call insn. These don't need to be saved. N.B. the call insn might set a subreg of a |