[IRA] patch for save restore code placement optimization
Vladimir N. Makarov
vmakarov@redhat.com
Fri Feb 2 17:24:00 GMT 2007
This patch is an initial version of save/restore code optimization.
It aims to decrease number of save-restore insns around calls and
increase gap between the corresponding save and restore code and as a
result to give more chance to reload to find a hard register without
spilling a pseudo-register.
2007-02-31 Vladimir Makarov <vmakarov@redhat.com>
* reload.h (debug_save_data): New definition.
* caller-save.c (struct bb_info): New.
(BB_INFO, BB_INFO_BY_INDEX): New macros.
(calculate_local_save_info, set_up_bb_rts_numbers, rpost_cmp,
calculate_save_in_out, calculate_save_here,
make_global_save_analysis, print_hard_reg_set_and_mode,
print_hard_reg_set, print_save_data, debug_save_data,
set_hard_reg_saved): New functions.
(save_call_clobbered_regs): Make global save analysis and use it
to put save/restore code.
(insert_one_insn): Check CODE_LABEL.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: save-restore-placement.patch
Type: text/x-patch
Size: 19410 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20070202/a2454c91/attachment.bin>
More information about the Gcc-patches
mailing list