aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfg.c
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2003-03-10 12:59:12 +0000
committerMichael Matz <matz@gcc.gnu.org>2003-03-10 12:59:12 +0000
commite0fd3e7af44dbea3d01bbc8df3a1f3114d993f4e (patch)
tree910ae1be1ed0cfb58f838d49e41f168f4467b5cb /gcc/cfg.c
parentac228d4e574c53a6c8c91e8f368d0c14199ba523 (diff)
downloadgcc-e0fd3e7af44dbea3d01bbc8df3a1f3114d993f4e.zip
gcc-e0fd3e7af44dbea3d01bbc8df3a1f3114d993f4e.tar.gz
gcc-e0fd3e7af44dbea3d01bbc8df3a1f3114d993f4e.tar.bz2
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
Diffstat (limited to 'gcc/cfg.c')
-rw-r--r--gcc/cfg.c40
1 files changed, 27 insertions, 13 deletions
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);