diff options
author | Richard Stallman <rms@gnu.org> | 1993-07-24 06:52:44 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-07-24 06:52:44 +0000 |
commit | b6ccc3fb9dadaa4e0866176f01ac8f6984d20125 (patch) | |
tree | ced0f0698f08bb431cdd8519f47534ff7577106a /gcc/loop.c | |
parent | e28cae4f9c4c30a0f303ab58092215a100adcc91 (diff) | |
download | gcc-b6ccc3fb9dadaa4e0866176f01ac8f6984d20125.zip gcc-b6ccc3fb9dadaa4e0866176f01ac8f6984d20125.tar.gz gcc-b6ccc3fb9dadaa4e0866176f01ac8f6984d20125.tar.bz2 |
(mark_loop_jump): Handle weird cases like jumping to a symbol_ref.
From-SVN: r4981
Diffstat (limited to 'gcc/loop.c')
-rw-r--r-- | gcc/loop.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -2538,8 +2538,17 @@ mark_loop_jump (x, loop_num) return; default: - /* Nothing else should occur in a JUMP_INSN. */ - abort (); + /* Treat anything else (such as a symbol_ref) + as a branch out of this loop, but not into any loop. */ + + if (loop_num != -1) + { + LABEL_OUTSIDE_LOOP_P (x) = 1; + LABEL_NEXTREF (x) = loop_number_exit_labels[loop_num]; + loop_number_exit_labels[loop_num] = x; + } + + return; } } |