diff options
author | obrien <obrien@FreeBSD.org> | 2002-05-09 20:02:13 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2002-05-09 20:02:13 +0000 |
commit | c8f5fc7032940ad6633f932ac40cade82ec4d0cc (patch) | |
tree | 29a0f0a6c79a69ecc64f612947a0fe5904311713 /contrib/gcc/cfg.c | |
parent | c9ab9ae440a8066b2c2b85b157b1fdadcf09916a (diff) | |
download | FreeBSD-src-c8f5fc7032940ad6633f932ac40cade82ec4d0cc.zip FreeBSD-src-c8f5fc7032940ad6633f932ac40cade82ec4d0cc.tar.gz |
Gcc 3.1.0 pre-release from the FSF anoncvs repo on 9-May-2002 15:57:15 EDT.
Diffstat (limited to 'contrib/gcc/cfg.c')
-rw-r--r-- | contrib/gcc/cfg.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/contrib/gcc/cfg.c b/contrib/gcc/cfg.c index 8adcef6..73689c3 100644 --- a/contrib/gcc/cfg.c +++ b/contrib/gcc/cfg.c @@ -1,6 +1,6 @@ /* Control flow graph manipulation code for GNU compiler. Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001 Free Software Foundation, Inc. + 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of GCC. @@ -222,6 +222,17 @@ alloc_block () /* Remove block B from the basic block array and compact behind it. */ void +expunge_block_nocompact (b) + basic_block b; +{ + /* Invalidate data to make bughunting easier. */ + memset (b, 0, sizeof *b); + b->index = -3; + b->succ = (edge) first_deleted_block; + first_deleted_block = (basic_block) b; +} + +void expunge_block (b) basic_block b; { @@ -234,13 +245,10 @@ expunge_block (b) x->index = i; } - /* Invalidate data to make bughunting easier. */ - memset (b, 0, sizeof *b); - b->index = -3; - basic_block_info->num_elements--; n_basic_blocks--; - b->succ = (edge) first_deleted_block; - first_deleted_block = (basic_block) b; + basic_block_info->num_elements--; + + expunge_block_nocompact (b); } /* Create an edge connecting SRC and DST with FLAGS optionally using |