RFA: patch to solve PR37859

Vladimir Makarov vmakarov@redhat.com
Fri Nov 14 16:41:00 GMT 2008


Adam Nemet wrote:
> Vlad,
>
> Thanks for patch.  I think I understand the difference.  What you're saying is
> that the reason the change on r719 does not reach r696 because the loop with
> r719 flows directly into an adjacent loop instead of the parent loop.
>
> I will bootstrap the patch on mips64 overnight and report back.
>
> There are few comments below FWIW.
>
Here is the modified version of the patch.  I also decided to use a new 
attribute for ira_loop_tree_node because calculation of it for each 
store is a bit more expensive.

2008-11-14  Vladimir Makarov  <vmakarov@redhat.com>

    PR bootstrap/37859
    * ira-int.h (struct ira_loop_tree_node): New member
    entered_from_non_parent_p.

    * ira-color.c (print_loop_title): Print loop bbs.

    * ira-emit.c (entered_from_non_parent_p,
    setup_entered_from_non_parent_p): New functions.
    (not_modified_p): Rename to store_can_be_removed_p.  Check there
    is no side entries.
    (generate_edge_moves): Use store_can_be_removed_p instead of
    not_modified_p.
    (ira_emit): Call setup_entered_from_non_parent_p.
   
    * ira-build.c (copy_info_to_removed_store_destinations):
    Accumulate CALL_FREQ, CALL_CROSSED_NUM, and
    ALLOCNO_EXCESS_PRESSURE_POINTS_NUM.
    (ira_flattening): Don't CHECK MEM_OPTIMIZED_DEST[_P], always
    update all accumulated attributes.
   

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr37859-v2.patch
Type: text/x-patch
Size: 8714 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20081114/e254132e/attachment.bin>


More information about the Gcc-patches mailing list