RFA: patch for PR37488

Vladimir Makarov vmakarov@redhat.com
Thu Jul 2 22:08:00 GMT 2009


The following patch solves PR37488.  The details of the problem can
be found on

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

The patch was successfully bootstrapped and tested on x86 and x86_64. It 
was benchmarked on SPEC2000 on x86 with -O2 -march=i686 -mfpmath=sse 
-msse2.  The average scores are practically the same.

Ok to commit?

2009-07-02  Vladimir Makarov  <vmakarov@redhat.com>

    PR target/37488
    * ira-lives.c (bb_has_abnormal_call_pred): New function.
    (process_bb_node_lives): Use it.

    * ira.c (setup_cover_and_important_classes): Don't setup
    ira_important_class_nums.  Add cover classes to the end of
    important classes.
    (cover_class_order, comp_reg_classes_func,
    reorder_important_classes): New.
    (find_reg_class_closure): Use reorder_important_classes.

    * config/i386/i386.h (IRA_COVER_CLASSES): Remove.

    * config/i386/i386.c (i386_ira_cover_classes): New function.
    (TARGET_IRA_COVER_CLASSES): Redefine.

    * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Add a comment about
    importance of order of cover classes in the array.
    

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


More information about the Gcc-patches mailing list