summaryrefslogtreecommitdiff
path: root/gcc/ira-int.h
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2008-11-25 22:52:37 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2008-11-25 22:52:37 +0000
commit30ea859e70a20f65b8abfb28269cd31bcab54941 (patch)
tree570532edd558acfd1cd74a139d8cf1f249d28173 /gcc/ira-int.h
parent5a1c3c109550ee678d41873ab74cb723923c7796 (diff)
downloadgcc-30ea859e70a20f65b8abfb28269cd31bcab54941.tar.gz
invoke.texi (ira-max-loops-num): Change semantics.
2008-11-25 Vladimir Makarov <vmakarov@redhat.com> * doc/invoke.texi (ira-max-loops-num): Change semantics. * ira-int.h (struct ira_loop_tree_node): New member to_remove_p. * ira-color.c (allocno_spill_priority): New function. (remove_allocno_from_bucket_and_push, push_allocno_to_spill): Print more info about the spilled allocno. (push_allocnos_to_stack): Use allocno_spill_priority. Add more checks on bad spill. * ira-build.c (loop_node_to_be_removed_p): Remove. (loop_compare_func, mark_loops_for_removal): New functions. (remove_uneccesary_loop_nodes_from_loop_t): Use member to_remove_p. (remove_unnecessary_allocnos): Call mark_loops_for_removal. * ira.c (ira): Don't change flag_ira_algorithm. * params.def (ira-max-loops-num): Change the value. From-SVN: r142207
Diffstat (limited to 'gcc/ira-int.h')
-rw-r--r--gcc/ira-int.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ira-int.h b/gcc/ira-int.h
index 659c1eeb2ab..5c6b355ecc8 100644
--- a/gcc/ira-int.h
+++ b/gcc/ira-int.h
@@ -98,6 +98,10 @@ struct ira_loop_tree_node
/* All the following members are defined only for nodes representing
loops. */
+ /* True if the loop was marked for removal from the register
+ allocation. */
+ bool to_remove_p;
+
/* Allocnos in the loop corresponding to their regnos. If it is
NULL the loop does not form a separate register allocation region
(e.g. because it has abnormal enter/exit edges and we can not put