aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Van Artsdalen <jrv@gnu.org>1994-01-09 10:35:48 +0000
committerJames Van Artsdalen <jrv@gnu.org>1994-01-09 10:35:48 +0000
commitb209b3c59fadb393642fb1950935988d6ed8c75b (patch)
tree9fa5add9e587b4853b4ca3ce41ad96d73e9637a1
parent9e9b48a4a2f611d7714ccb494b3072ae6a2a2b00 (diff)
downloadgcc-b209b3c59fadb393642fb1950935988d6ed8c75b.zip
gcc-b209b3c59fadb393642fb1950935988d6ed8c75b.tar.gz
gcc-b209b3c59fadb393642fb1950935988d6ed8c75b.tar.bz2
(follow_jumps): Don't follow tablejumps.
From-SVN: r6361
-rw-r--r--gcc/jump.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index 9e0230f..cca2c0a 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -2925,6 +2925,12 @@ follow_jumps (label)
/* If we have found a cycle, make the insn jump to itself. */
if (JUMP_LABEL (insn) == label)
return label;
+
+ tem = next_active_insn (JUMP_LABEL (insn));
+ if (tem && (GET_CODE (PATTERN (tem)) == ADDR_VEC
+ || GET_CODE (PATTERN (tem)) == ADDR_DIFF_VEC))
+ break;
+
value = JUMP_LABEL (insn);
}
if (depth == 10)