From e0fd3e7af44dbea3d01bbc8df3a1f3114d993f4e Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Mon, 10 Mar 2003 12:59:12 +0000 Subject: cfg.c (unchecked_make_edge): New. * cfg.c (unchecked_make_edge): New. (cached_make_edge): Use it. * basic-block.h (unchecked_make_edge): Declare. * cfglayout.c (cfg_layout_duplicate_bb): Use it. From-SVN: r64077 --- gcc/cfg.c | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) (limited to 'gcc/cfg.c') diff --git a/gcc/cfg.c b/gcc/cfg.c index de7a212..fe40007 100644 --- a/gcc/cfg.c +++ b/gcc/cfg.c @@ -280,6 +280,32 @@ expunge_block (b) pool_free (bb_pool, b); } +/* Create an edge connecting SRC and DEST with flags FLAGS. Return newly + created edge. Use this only if you are sure that this edge can't + possibly already exist. */ + +edge +unchecked_make_edge (src, dst, flags) + basic_block src, dst; + int flags; +{ + edge e; + e = pool_alloc (edge_pool); + memset (e, 0, sizeof (*e)); + n_edges++; + + e->succ_next = src->succ; + e->pred_next = dst->pred; + e->src = src; + e->dest = dst; + e->flags = flags; + + src->succ = e; + dst->pred = e; + + return e; +} + /* Create an edge connecting SRC and DST with FLAGS optionally using edge cache CACHE. Return the new edge, NULL if already exist. */ @@ -320,19 +346,7 @@ cached_make_edge (edge_cache, src, dst, flags) break; } - - e = pool_alloc (edge_pool); - memset (e, 0, sizeof (*e)); - n_edges++; - - e->succ_next = src->succ; - e->pred_next = dst->pred; - e->src = src; - e->dest = dst; - e->flags = flags; - - src->succ = e; - dst->pred = e; + e = unchecked_make_edge (src, dst, flags); if (use_edge_cache) SET_BIT (edge_cache[src->index], dst->index); -- cgit v1.1