diff options
Diffstat (limited to 'gcc/caller-save.c')
-rw-r--r-- | gcc/caller-save.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/gcc/caller-save.c b/gcc/caller-save.c index 377ffad5e55..e12deb73ead 100644 --- a/gcc/caller-save.c +++ b/gcc/caller-save.c @@ -311,7 +311,7 @@ init_save_areas (void) for (j = 1; j <= MOVE_MAX_WORDS; j++) regno_save_mem[i][j] = 0; save_slots_num = 0; - + } /* The structure represents a hard register which should be saved @@ -394,7 +394,7 @@ saved_hard_reg_compare_func (const void *v1p, const void *v2p) { const struct saved_hard_reg *p1 = *(struct saved_hard_reg * const *) v1p; const struct saved_hard_reg *p2 = *(struct saved_hard_reg * const *) v2p; - + if (flag_omit_frame_pointer) { if (p1->call_freq - p2->call_freq != 0) @@ -467,7 +467,7 @@ setup_save_areas (void) int best_slot_num; int prev_save_slots_num; rtx prev_save_slots[FIRST_PSEUDO_REGISTER]; - + initiate_saved_hard_regs (); /* Create hard reg saved regs. */ for (chain = reload_insn_chain; chain != 0; chain = next) @@ -510,10 +510,10 @@ setup_save_areas (void) { int r = reg_renumber[regno]; int bound; - + if (r < 0) continue; - + bound = r + hard_regno_nregs[r][PSEUDO_REGNO_MODE (regno)]; for (; r < bound; r++) if (TEST_HARD_REG_BIT (used_regs, r)) @@ -568,7 +568,7 @@ setup_save_areas (void) { int r = reg_renumber[regno]; int bound; - + if (r < 0) continue; @@ -686,17 +686,17 @@ setup_save_areas (void) /* Now run through all the call-used hard-registers and allocate space for them in the caller-save area. Try to allocate space in a manner which allows multi-register saves/restores to be done. */ - + for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) for (j = MOVE_MAX_WORDS; j > 0; j--) { int do_save = 1; - + /* If no mode exists for this size, try another. Also break out if we have already saved this hard register. */ if (regno_save_mode[i][j] == VOIDmode || regno_save_mem[i][1] != 0) continue; - + /* See if any register in this group has been saved. */ for (k = 0; k < j; k++) if (regno_save_mem[i + k][1]) @@ -706,7 +706,7 @@ setup_save_areas (void) } if (! do_save) continue; - + for (k = 0; k < j; k++) if (! TEST_HARD_REG_BIT (hard_regs_used, i + k)) { @@ -715,7 +715,7 @@ setup_save_areas (void) } if (! do_save) continue; - + /* We have found an acceptable mode to store in. Since hard register is always saved in the widest mode available, the mode may be wider than necessary, it is @@ -727,7 +727,7 @@ setup_save_areas (void) = assign_stack_local_1 (regno_save_mode[i][j], GET_MODE_SIZE (regno_save_mode[i][j]), 0, true); - + /* Setup single word save area just in case... */ for (k = 0; k < j; k++) /* This should not depend on WORDS_BIG_ENDIAN. |