aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfglayout.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/cfglayout.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/cfglayout.c')
-rw-r--r--gcc/cfglayout.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/cfglayout.c b/gcc/cfglayout.c
index 04ba2ec..1f4f8fc 100644
--- a/gcc/cfglayout.c
+++ b/gcc/cfglayout.c
@@ -980,7 +980,10 @@ cfg_layout_duplicate_bb (bb, e)
new_bb->flags = bb->flags;
for (s = bb->succ; s; s = s->succ_next)
{
- n = make_edge (new_bb, s->dest, s->flags);
+ /* Since we are creating edges from a new block to successors
+ of another block (which therefore are known to be disjoint), there
+ is no need to actually check for duplicated edges. */
+ n = unchecked_make_edge (new_bb, s->dest, s->flags);
n->probability = s->probability;
if (new_count)
/* Take care for overflows! */