diff options
| -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 |
