summaryrefslogtreecommitdiff
path: root/gcc/cfgbuild.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-09-11 09:39:11 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2001-09-11 09:39:11 +0000
commit7392df293e76260a6f842ae893a8c410fa94b7ef (patch)
tree0b80eab87a8ff974cac08543ff1bb4f76eff3798 /gcc/cfgbuild.c
parent9caef960d5d09da7280ba0b8a8d1fa6d35e5d9da (diff)
downloadgcc-7392df293e76260a6f842ae893a8c410fa94b7ef.tar.gz
* basic-block.h (cached_make_edge, make_single_succ): New.
(make_edge): Remove first parameter. * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge. * cfg.c (cached_make_edge): Rename from make_edge; return newly created edge; use obstack allocation. (make_edge, make_single_succ_edge): New. (first_removed_edge): New static variable. (init_flow): Initialize first_removed_edge and n_edges. (clear_edges): Use remove_edge. (flow_delete_block): Likewise. (remove_edge): Add removed edges to the removed edges list. (split_block, redirect_edge_and_branch_force, split_edge): Use make_edge. * cfganal.c (flow_call_edges_add): Updaet make_edge call. (add_noreturn_fake_exit_edges): Likewise. (connect_infinite_loops_to_exit): Liekwise. * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks): Use cached_make_edge. * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge. * profile.c (branch_prob): Update make_edge call. * ssa-dce.c (ssa_eliminate_dead_code): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45540 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgbuild.c')
-rw-r--r--gcc/cfgbuild.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c
index 2f62b067ff5..ea1c7327b34 100644
--- a/gcc/cfgbuild.c
+++ b/gcc/cfgbuild.c
@@ -186,7 +186,7 @@ make_label_edge (edge_cache, src, label, flags)
if (INSN_UID (label) == 0)
return;
- make_edge (edge_cache, src, BLOCK_FOR_INSN (label), flags);
+ cached_make_edge (edge_cache, src, BLOCK_FOR_INSN (label), flags);
}
/* Create the edges generated by INSN in REGION. */
@@ -246,7 +246,7 @@ make_edges (label_value_list, min, max, update_p)
}
/* By nature of the way these get numbered, block 0 is always the entry. */
- make_edge (edge_cache, ENTRY_BLOCK_PTR, BASIC_BLOCK (0), EDGE_FALLTHRU);
+ cached_make_edge (edge_cache, ENTRY_BLOCK_PTR, BASIC_BLOCK (0), EDGE_FALLTHRU);
for (i = min; i <= max; ++i)
{
@@ -257,7 +257,7 @@ make_edges (label_value_list, min, max, update_p)
if (GET_CODE (bb->head) == CODE_LABEL
&& LABEL_ALTERNATE_NAME (bb->head))
- make_edge (NULL, ENTRY_BLOCK_PTR, bb, 0);
+ cached_make_edge (NULL, ENTRY_BLOCK_PTR, bb, 0);
/* Examine the last instruction of the block, and discover the
ways we can leave the block. */
@@ -330,7 +330,7 @@ make_edges (label_value_list, min, max, update_p)
/* Returns create an exit out. */
else if (returnjump_p (insn))
- make_edge (edge_cache, bb, EXIT_BLOCK_PTR, 0);
+ cached_make_edge (edge_cache, bb, EXIT_BLOCK_PTR, 0);
/* Otherwise, we have a plain conditional or unconditional jump. */
else
@@ -347,7 +347,7 @@ make_edges (label_value_list, min, max, update_p)
wouldn't have created the sibling call in the first place. */
if (code == CALL_INSN && SIBLING_CALL_P (insn))
- make_edge (edge_cache, bb, EXIT_BLOCK_PTR,
+ cached_make_edge (edge_cache, bb, EXIT_BLOCK_PTR,
EDGE_ABNORMAL | EDGE_ABNORMAL_CALL);
/* If this is a CALL_INSN, then mark it as reaching the active EH
@@ -383,14 +383,14 @@ make_edges (label_value_list, min, max, update_p)
/* Find out if we can drop through to the next block. */
insn = next_nonnote_insn (insn);
if (!insn || (i + 1 == n_basic_blocks && force_fallthru))
- make_edge (edge_cache, bb, EXIT_BLOCK_PTR, EDGE_FALLTHRU);
+ cached_make_edge (edge_cache, bb, EXIT_BLOCK_PTR, EDGE_FALLTHRU);
else if (i + 1 < n_basic_blocks)
{
rtx tmp = BLOCK_HEAD (i + 1);
if (GET_CODE (tmp) == NOTE)
tmp = next_nonnote_insn (tmp);
if (force_fallthru || insn == tmp)
- make_edge (edge_cache, bb, BASIC_BLOCK (i + 1), EDGE_FALLTHRU);
+ cached_make_edge (edge_cache, bb, BASIC_BLOCK (i + 1), EDGE_FALLTHRU);
}
}
@@ -701,7 +701,7 @@ find_sub_basic_blocks (bb)
remove_edge (falltru);
jump_insn = 0;
if (LABEL_ALTERNATE_NAME (insn))
- make_edge (NULL, ENTRY_BLOCK_PTR, bb, 0);
+ make_edge (ENTRY_BLOCK_PTR, bb, 0);
break;
case INSN:
case JUMP_INSN: