diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-04 18:47:35 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-04 18:47:35 +0000 |
commit | 7e03a244eca2c4055b26cff33ebb3f304ba4ad23 (patch) | |
tree | 0390c7f4a5b7e1f97a36d75b74ddad1cb441e93a /gcc/ira-build.c | |
parent | 590c31668736f0790e7e8a2e2811a29f2a7112bc (diff) | |
download | gcc-7e03a244eca2c4055b26cff33ebb3f304ba4ad23.tar.gz |
gcc/
PR middle-end/37243
* ira-build.c (form_loop_tree): Reverse BB walk.
(create_bb_allocnos): Likewise.
* ira-lives.c (make_regno_born_and_dead, regs_set): Delete.
(mark_reg_store): Rename to...
(mark_ref_live): ...this and take a df_ref argument instead of
note_stores arguments. Assert that we have a register.
(mark_reg_clobber): Delete.
(def_conflicts_with_inputs_p): New function.
(mark_reg_conflicts): Delete.
(mark_reg_death): Rename to...
(mark_ref_dead): ...this and take a df_ref argument instead of
a register. Assert that we have a register.
(process_bb_node_lives): Hoist frequency calculation out of
instruction walk. Convert from a forwards scan to a backwards scan.
Use DF_REF_USES and DF_REF_DEFS instead of register notes and
note_stores. Remove EH_RETURN_DATA_REGNO and regs_set handling.
(create_allocno_live_ranges): Don't create regs_set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139993 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira-build.c')
-rw-r--r-- | gcc/ira-build.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/ira-build.c b/gcc/ira-build.c index 4f2fb8f5396..6bd49c0cd1b 100644 --- a/gcc/ira-build.c +++ b/gcc/ira-build.c @@ -310,7 +310,7 @@ form_loop_tree (void) ira_loop_nodes[i].children = NULL; ira_loop_nodes[i].subloops = NULL; } - FOR_EACH_BB_REVERSE (bb) + FOR_EACH_BB (bb) { bb_node = &ira_bb_nodes[bb->index]; bb_node->bb = bb; @@ -1343,7 +1343,7 @@ create_bb_allocnos (ira_loop_tree_node_t bb_node) curr_bb = bb = bb_node->bb; ira_assert (bb != NULL); - FOR_BB_INSNS (bb, insn) + FOR_BB_INSNS_REVERSE (bb, insn) if (INSN_P (insn)) create_insn_allocnos (PATTERN (insn), false); /* It might be a allocno living through from one subloop to |