diff options
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 7aa3f85..6c95c9c 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -1364,7 +1364,7 @@ maybe_fix_stack_asms (void) { /* End of one alternative - mark the regs in the current class, and reset the class. */ - IOR_HARD_REG_SET (allowed, reg_class_contents[cls]); + allowed |= reg_class_contents[cls]; cls = NO_REGS; p++; if (c == '#') @@ -1745,8 +1745,8 @@ order_regs_for_reload (class insn_chain *chain) REG_SET_TO_HARD_REG_SET (used_by_pseudos, &chain->live_throughout); REG_SET_TO_HARD_REG_SET (used_by_pseudos2, &chain->dead_or_set); - IOR_HARD_REG_SET (bad_spill_regs, used_by_pseudos); - IOR_HARD_REG_SET (bad_spill_regs, used_by_pseudos2); + bad_spill_regs |= used_by_pseudos; + bad_spill_regs |= used_by_pseudos2; /* Now find out which pseudos are allocated to it, and update hard_reg_n_uses. */ @@ -1823,8 +1823,7 @@ find_reg (class insn_chain *chain, int order) static int regno_pseudo_regs[FIRST_PSEUDO_REGISTER]; static int best_regno_pseudo_regs[FIRST_PSEUDO_REGISTER]; - not_usable = bad_spill_regs; - IOR_HARD_REG_SET (not_usable, bad_spill_regs_global); + not_usable = bad_spill_regs | bad_spill_regs_global; IOR_COMPL_HARD_REG_SET (not_usable, reg_class_contents[rl->rclass]); CLEAR_HARD_REG_SET (used_by_other_reload); @@ -2008,7 +2007,7 @@ find_reload_regs (class insn_chain *chain) } chain->used_spill_regs = used_spill_regs_local; - IOR_HARD_REG_SET (used_spill_regs, used_spill_regs_local); + used_spill_regs |= used_spill_regs_local; memcpy (chain->rld, rld, n_reloads * sizeof (struct reload)); } @@ -4251,14 +4250,12 @@ finish_spills (int global) EXECUTE_IF_SET_IN_REG_SET (&chain->live_throughout, FIRST_PSEUDO_REGISTER, i, rsi) { - IOR_HARD_REG_SET (pseudo_forbidden_regs[i], - chain->used_spill_regs); + pseudo_forbidden_regs[i] |= chain->used_spill_regs; } EXECUTE_IF_SET_IN_REG_SET (&chain->dead_or_set, FIRST_PSEUDO_REGISTER, i, rsi) { - IOR_HARD_REG_SET (pseudo_forbidden_regs[i], - chain->used_spill_regs); + pseudo_forbidden_regs[i] |= chain->used_spill_regs; } } @@ -4302,7 +4299,7 @@ finish_spills (int global) { REG_SET_TO_HARD_REG_SET (used_by_pseudos, &chain->live_throughout); REG_SET_TO_HARD_REG_SET (used_by_pseudos2, &chain->dead_or_set); - IOR_HARD_REG_SET (used_by_pseudos, used_by_pseudos2); + used_by_pseudos |= used_by_pseudos2; compute_use_by_pseudos (&used_by_pseudos, &chain->live_throughout); compute_use_by_pseudos (&used_by_pseudos, &chain->dead_or_set); @@ -6239,9 +6236,9 @@ choose_reload_regs_init (class insn_chain *chain, rtx *save_reload_reg_rtx) { HARD_REG_SET tmp; REG_SET_TO_HARD_REG_SET (tmp, &chain->live_throughout); - IOR_HARD_REG_SET (reg_used_in_insn, tmp); + reg_used_in_insn |= tmp; REG_SET_TO_HARD_REG_SET (tmp, &chain->dead_or_set); - IOR_HARD_REG_SET (reg_used_in_insn, tmp); + reg_used_in_insn |= tmp; compute_use_by_pseudos (®_used_in_insn, &chain->live_throughout); compute_use_by_pseudos (®_used_in_insn, &chain->dead_or_set); } @@ -8420,7 +8417,7 @@ emit_reload_insns (class insn_chain *chain) } } } - IOR_HARD_REG_SET (reg_reloaded_dead, reg_reloaded_died); + reg_reloaded_dead |= reg_reloaded_died; } /* Go through the motions to emit INSN and test if it is strictly valid. |