aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-10-16 17:44:05 +0000
committerJeff Law <law@gcc.gnu.org>1998-10-16 11:44:05 -0600
commit96b106e5c960e9aad26ee54caa0a9f1688e55b6b (patch)
treef3793f7303f49d61361d41f435997eebe52e01be /gcc
parentc55ade0244cff15833d8c72f1bc360f3f8c26360 (diff)
downloadgcc-96b106e5c960e9aad26ee54caa0a9f1688e55b6b.zip
gcc-96b106e5c960e9aad26ee54caa0a9f1688e55b6b.tar.gz
gcc-96b106e5c960e9aad26ee54caa0a9f1688e55b6b.tar.bz2
flow.c (find_basic_blocks_1): Do not delete unreachable blocks after reload has completed.
* flow.c (find_basic_blocks_1): Do not delete unreachable blocks after reload has completed. From-SVN: r23140
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/flow.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 52eff08..df1abe7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Fri Oct 16 10:58:23 1998 Jeffrey A Law (law@cygnus.com)
+
+ * flow.c (find_basic_blocks_1): Do not delete unreachable blocks
+ after reload has completed.
+
Fri Oct 16 17:26:10 1998 Dave Brolley <brolley@cygnus.com>
* cpplib.c (cpp_get_token): Replace whitespace that occurs between
diff --git a/gcc/flow.c b/gcc/flow.c
index b918823..32e6ebb 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -597,7 +597,7 @@ find_basic_blocks_1 (f, nonlocal_labels)
if (n_basic_blocks > 0)
{
int something_marked = 1;
- int deleted;
+ int deleted = 0;
/* Pass over all blocks, marking each block that is reachable
and has not yet been marked.
@@ -631,7 +631,8 @@ find_basic_blocks_1 (f, nonlocal_labels)
&& LABEL_REFS (basic_block_head[i]) == basic_block_head[i])
abort ();
- deleted = delete_unreachable_blocks ();
+ if (! reload_completed)
+ deleted = delete_unreachable_blocks ();
/* There are pathological cases where one function calling hundreds of
nested inline functions can generate lots and lots of unreachable