[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