summaryrefslogtreecommitdiff
path: root/gcc/caller-save.c
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-18 15:11:31 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-18 15:11:31 +0000
commit8c97cf13879a4874c4e3ae954056fef4e3a3fafa (patch)
treee0aded8319864b2cb6fac4df0732bb5ee1995039 /gcc/caller-save.c
parentb4620157c3800fe19422bd4c4151827fb37cc246 (diff)
downloadgcc-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.c33
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