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