summaryrefslogtreecommitdiff
path: root/gcc/ira-build.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-04 18:47:35 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-04 18:47:35 +0000
commit7e03a244eca2c4055b26cff33ebb3f304ba4ad23 (patch)
tree0390c7f4a5b7e1f97a36d75b74ddad1cb441e93a /gcc/ira-build.c
parent590c31668736f0790e7e8a2e2811a29f2a7112bc (diff)
downloadgcc-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.c4
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