This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r113912 - in /branches/yara-branch/gcc: ChangeL...
- From: vmakarov at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Fri, 19 May 2006 18:48:33 -0000
- Subject: r113912 - in /branches/yara-branch/gcc: ChangeL...
Author: vmakarov
Date: Fri May 19 18:48:32 2006
New Revision: 113912
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113912
Log:
2006-05-19 Vladimir Makarov <vmakarov@redhat.com>
* yara-int.h (HAVE_ANY_SECONDARY_MOVES): Remove.
(secondary_copy_change): Rename to copy_change. Add new fields
interm_equiv_const_regno and interm_equiv_const_mode.
(COPY_SECONDARY_CHANGE_ADDR): Rename to COPY_CHANGE_ADDR.
(COPY_INTERM_EQUIV_CONST_REGNO, COPY_INTERM_EQUIV_CONST_MODE): New
macros.
(unassign_copy_secondary): Rename to unassign_copy.
(check_elimination_in_addr, get_equiv_const_addr_info,
get_equiv_const_elimination_info): New prototypes.
* yara-insn.c (check_alternative_possibility): Check allocation of
the plus constant of the constant address with eliminated
register.
(assign_constraint): Ditto.
(find_best_alt_allocation_1): Check base and index register with
equivalent constant address.
(allocate_insn_allocnos): Ditto.
* yara-color.c (setup_minimal_op_costs): Take equivalent constant
into account.
(update_min_op_costs): Ditto.
(assign_global_can_allocnos): Ditto.
(assign_dst_if_necessary): Ditto.
(try_change_allocno): Ditto.
* common.opt (frematerialize): Switch it on by default for -O2.
* yara-final.c: Rename COPY_SECONDARY_CHANGE_ADDR to
COPY_CHANGE_ADDR. Rename unassign_copy_secondary to
unassign_copy. Remove HAVE_ANY_SECONDARY_MOVES.
(unnecessary_copy_p): Take equivalent constant into account.
(process_allocno_locs): Ditto.
(emit_copy): Ditto.
(eliminate_reg_allocno): New function.
(modify_insn): Use the function. Take equivalent constant into
account.
* yara-trans.c: Rename COPY_SECONDARY_CHANGE_ADDR to
COPY_CHANGE_ADDR. Remove HAVE_ANY_SECONDARY_MOVES.
(initiate_secondary_copy_changes, free_secondary_copy_change,
get_free_secondary_copy_change, finish_secondary_copy_changes,
assign_copy_secondary, assign_secondary, unassign_copy_secondary,
unassign_secondary, free_secondary_copy_changes,
secondary_copy_change_varray): Rename to correspondingly
initiate_copy_changes, free_copy_change, get_free_copy_change,
finish_copy_changes, assign_copy, assign_allocno_copies,
unassign_copy, unassign_allocno_copies, free_copy_changes,
copy_change_varray.
(get_free_copy_change): Initialize interm_equiv_const_regno and
interm_equiv_const_mode.
(assign_copy_interm_equiv_const_hard_reg,
unassign_copy_interm_equiv_const_hard_reg): New functions.
(assign_copy, unassign_copy): Take equivalent constant into
account.
(unassign_one_allocno): Call unassign_allocno_copies when the
equivalent constant is used.
(check_elimination_in_addr): New parameters.
(get_equiv_const_addr_info, get_equiv_const_elimination_info): New
functions.
(undo_copy_change): Process interm_equiv_const_regno.
(check_hard_regno_memory_on_constraint): Take equivalent constant
into account.
* yara-ir.c: Rename COPY_SECONDARY_CHANGE_ADDR to
COPY_CHANGE_ADDR. Remove HAVE_ANY_SECONDARY_MOVES.
(print_copy): Print new fields interm_equiv_const_regno and
interm_equiv_const_mode.
(make_aggressive_coalescing): Prevent coalescing cans with
equivalent constants.
Modified:
branches/yara-branch/gcc/ChangeLog
branches/yara-branch/gcc/common.opt
branches/yara-branch/gcc/yara-color.c
branches/yara-branch/gcc/yara-final.c
branches/yara-branch/gcc/yara-insn.c
branches/yara-branch/gcc/yara-int.h
branches/yara-branch/gcc/yara-ir.c
branches/yara-branch/gcc/yara-trans.c