diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2008-09-03 20:20:57 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2008-09-03 20:20:57 +0000 |
commit | 49d988e7e8164d71e73c2de5a1f1c6a2afe205a4 (patch) | |
tree | 9019b331be1659d737cfbcd55b9525108bc47b83 /gcc/ira-int.h | |
parent | 27738602d5c08a8725ef63e43899bc6bfb4eab3c (diff) | |
download | gcc-49d988e7e8164d71e73c2de5a1f1c6a2afe205a4.tar.gz |
re PR middle-end/37243 (IRA causes wrong code generation)
2008-09-03 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-opt/37243
* ira-int.h (ira_loop_tree_node): Rename mentioned_allocnos to
all_allocnos.
* ira-color.c (print_loop_title): Use all_allocnos.
(color_pass): Ditto. Don't add border_allocnos. Check that
subloop allocno in the correspdoning bitmap all_allocnos.
* ira-emit.c (change_loop): Use all_allocnos.
* ira-build.c (create_loop_tree_nodes, finish_loop_tree_node):
Ditto.
(ira_create_allocno): Set up all_allocnos bit for the created
allocno.
(create_cap_allocno): Remove setting mentioned_allocnos.
(create_insn_allocnos): Ditto.
(remove_unnecessary_allocnos): Use all_allocnos.
(check_allocno_creation): Check that allocnos are in the
corresponding bitmap all_allocnos.
From-SVN: r139952
Diffstat (limited to 'gcc/ira-int.h')
-rw-r--r-- | gcc/ira-int.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc/ira-int.h b/gcc/ira-int.h index f656cf16737..5f88e271a48 100644 --- a/gcc/ira-int.h +++ b/gcc/ira-int.h @@ -111,16 +111,17 @@ struct ira_loop_tree_node (defined only for the cover classes). */ int reg_pressure[N_REG_CLASSES]; - /* Numbers of allocnos referred in the loop node. */ - bitmap mentioned_allocnos; + /* Numbers of allocnos referred or living in the loop node (except + for its subloops). */ + bitmap all_allocnos; + + /* Numbers of allocnos living at the loop borders. */ + bitmap border_allocnos; /* Regnos of pseudos modified in the loop node (including its subloops). */ bitmap modified_regnos; - /* Numbers of allocnos living at the loop borders. */ - bitmap border_allocnos; - /* Numbers of copies referred in the corresponding loop. */ bitmap local_copies; }; |