diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 2000-02-28 11:38:10 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2000-02-28 11:38:10 +0000 |
commit | 035a6890e978b3ba9e23b8c202c2dbf997f2b673 (patch) | |
tree | e263a0246c94bdf9382ea0a6c810f8cb713e8020 /gcc | |
parent | 18c038b9ca6f4e60c625636506cfe5a3290475a9 (diff) | |
download | gcc-035a6890e978b3ba9e23b8c202c2dbf997f2b673.zip gcc-035a6890e978b3ba9e23b8c202c2dbf997f2b673.tar.gz gcc-035a6890e978b3ba9e23b8c202c2dbf997f2b673.tar.bz2 |
Fix for SH gcc.c-torture/compile/991229-3.c failure:
* loop.c (reg_in_basic_block_p): Don't abort when falling through
to the end of the function.
From-SVN: r32229
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/loop.c | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d777804..c064d94 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Feb 28 11:34:43 2000 J"orn Rennecke <amylaar@cygnus.co.uk> + + * loop.c (reg_in_basic_block_p): Don't abort when falling through + to the end of the function. + 2000-02-27 Mark Mitchell <mark@codesourcery.com> * emit-rtl.c (remove_unncessary_notes): Remove notes for empty @@ -1284,8 +1284,12 @@ reg_in_basic_block_p (insn, reg) } } - /* The "last use" doesn't follow the "first use"?? */ - abort (); + /* The "last use" that was recorded can't be found after the first + use. This can happen when the last use was deleted while + processing an inner loop, this inner loop was then completely + unrolled, and the outer loop is always exited after the inner loop, + so that everything after the first use becomes a single basic block. */ + return 1; } /* Compute the benefit of eliminating the insns in the block whose |