RFA: patch solving one IRA problem reported in PR37243

Vladimir Makarov vmakarov@redhat.com
Sun Aug 31 08:31:00 GMT 2008


The following patch solves IRA regression on pr36222 and p36246 of gcc
testsuite.  The analysis of the problem could be found in

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37243

The patch has been bootstrapped sucessfully on x86_64.  It also
improves SPEC results at least for x86.

2008-08-29  Vladimir Makarov  <vmakarov@redhat.com>

    PR rtl-opt/37243

    * ira-conflicts.c (REG_SUBREG_P, go_through_subreg): New.
    (process_regs_for_copy): Process subregs.  Refine check when cost
    is taken into account in ira-costs.c.
    (process_reg_shuffles): Use REG_SUBREG_P.
    (add_insn_allocno_copies): Ditto.  Ignore modes.

    * ira-color.c (conflict_allocno_vec): New.
    (COST_HOP_DIVISOR): New macro.
    (update_copy_costs_1): Use it.
    (update_conflict_hard_regno_costs): New function.
    (assign_hard_reg): Use it.
    (ira_color): Allocate and free conflict_allocno_vec.
    

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr36222.patch
Type: text/x-patch
Size: 12418 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20080831/6343fe23/attachment.bin>


More information about the Gcc-patches mailing list