2008-05-08 Vladimir Makarov <vmakarov@redhat.com>
commit4152bb48b6b56f7f77828af04f9fceef4c9a21d3
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 May 2008 15:49:09 +0000 (8 15:49 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 May 2008 15:49:09 +0000 (8 15:49 +0000)
treef5f696364da01b38594b9f965268a96f74f57c8f
parenta89c24bc285e230ec18f0198ba443a5b5a2e5cbb
2008-05-08  Vladimir Makarov  <vmakarov@redhat.com>

* ira-int.h (loop_tree_node): New members subloops and
subloop_next.

* ira-conflicts.c (propagate_modified_regnos): Check that it is a
loop node.
(ira_build_conflicts): Use TRUE for traverse_loop_tree.

* ira-color.c (color_pass): Check that it is a
loop node.  Use subloops and subloop_next for traversing.
(move_spill_restore): Ditto.
(coalesced_pseudo_reg_freq_compare,
coalesced_pseudo_reg_slot_compare, pseudo_reg_compare): Don't
discard const.

* ira-lives.c (create_allocno_live_ranges): Use TRUE for
traverse_loop_tree.

* ira-emit.c (ira_emit): Ditto.

* ira-build.c (add_loop_to_tree): Set up subloops and
subloop_next.
(setup_loop_tree_level): Use subloops and subloop_next for
traversing.
(form_loop_tree): Initialize subloops and subloop_next.
(traverse_loop_tree): Change 1st parameter semantics.  Rewrite the
function.
(create_loop_tree_node_caps): Check that it is a loop node.
(check_and_add_conflicts): Check allocno loop nodes.
(add_conflict_with_underlying_allocnos): Use subloops and
subloop_next for traversing.

* ira.c (chain_freq_compare, chain_bb_compare): Don't discard
const.
(ira): Call regstat functions second time only if new pseudos are
created.

* ira-costs.c (find_allocno_class_costs): Use TRUE for
traverse_loop_tree.
(setup_allocno_cover_class_and_costs): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ira@135084 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ira-build.c
gcc/ira-color.c
gcc/ira-conflicts.c
gcc/ira-costs.c
gcc/ira-emit.c
gcc/ira-int.h
gcc/ira-lives.c
gcc/ira.c