[yara-branch] patch for bug fixes, speedup, code improvement

Vladimir Makarov vmakarov@redhat.com
Wed Mar 29 23:35:00 GMT 2006


This patch
 o fixes bugs in YARA when frame pointer is omitted
 o fixes bugs in cover class set calculation when tunning other
   than for pentium4 is used
 o improve generated code for crafty (other changes in SPEC
   are insignifciant) by taking allocno sizes into account.
 o speeds YARA up for SPECFp lucas (about 20%) by speeding coloring
 
2006-03-29  Vladimir Makarov  <vmakarov@redhat.com>

	* yara-int.h (stack_memory_start_frame_offset): Rename to
	get_stack_memory_start_frame_offset.
	(rounded_slot_memory_size): New prototype.
	(set_non_alloc_regs): New prototype.
	* yara-color.c (setup_reg_subclasses): Don't take fixed registers
	into account.
	(min_reg_class_cover_size, min_reg_class_cover): Rename them to
	final_reg_class_cover_size, final_reg_class_cover.
	(extend_reg_class_cover, set_up_class_translate,
	print_class_cover, find_reg_class_closure): Use the new names.
	(colorable_can_bucket): New variable.
	(add_can_to_bucket, delete_can_from_bucket): Change signature.
	(curr_global_can_cover_class): Remove.
	(global_can_compare): Don't check cover class.  Take allocno sizes
	into account.
	(push_globals_to_stack): Form and use can arrays according to
	their cover classes.
	(global_can_alloc): Initialize colorable_can_bucket.
	* yara-final.c (final_stack_memory_start_frame_offset,
	final_rounded_slot_memory_size): New variables.
	(get_allocno_memory_slot_rtx): Fix bug in calculating displacement
	relative to stack pointer.
	(emit_copy, modify_insn): Don't change offset for elimination to
	set pointer.
	(align_or_allocate_stack_memory): Rename to
	allocate_stack_memory.  Setup
	final_stack_memory_start_frame_offset and
	final_allocate_stack_memory.
	(yara_rewrite): Use the renamed function once.
	* yara.c (set_non_alloc_regs): Make it external, add
	parameter, and call set_up_class_hard_regs and
	set_up_available_class_regs.
	(yara_init_once): Remove calls of set_up_class_hard_regs and
	set_up_available_class_regs.
	* yara-trans.c (get_temp_stack_memory_slot_rtx): Add a
	parameter.  Fix the displacement calculation.
	(rounded_slot_memory_size): New function.
	(stack_memory_start_frame_offset): Rename to
	get_stack_memory_start_frame_offset.
	(assign_copy_secondary): Add parameter to
	get_temp_stack_memory_slot_rtx call.
	* yara-ir.c (modify_offsets_and_frame_pointer_needed): Modify
	no_alloc_regs if necessary.
	

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: yara032906.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20060329/1a5ef938/attachment.ksh>


More information about the Gcc-patches mailing list