From: Richard Henderson Date: Thu, 27 Mar 2003 22:25:48 +0000 (-0800) Subject: cfgrtl.c (try_redirect_by_replacing_jump): Disable removing tablejumps with no optimi... X-Git-Tag: releases/gcc-3.2.3~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=99a6ccba3371946529ac7484ed062c3ef5d7a694;p=thirdparty%2Fgcc.git cfgrtl.c (try_redirect_by_replacing_jump): Disable removing tablejumps with no optimization. * cfgrtl.c (try_redirect_by_replacing_jump): Disable removing tablejumps with no optimization. From-SVN: r64933 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9b2fbce0783d..40430f3195ff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-03-26 Richard Henderson + + * cfgrtl.c (try_redirect_by_replacing_jump): Disable removing + tablejumps with no optimization. + 2003-03-27 Rainer Orth * config/mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define __c99. diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c index 38158ccc7737..4f679ef49da2 100644 --- a/gcc/cfgrtl.c +++ b/gcc/cfgrtl.c @@ -665,7 +665,6 @@ try_redirect_by_replacing_jump (e, target) edge tmp; rtx set; int fallthru = 0; - rtx table; /* Verify that all targets will be TARGET. */ for (tmp = src->succ; tmp; tmp = tmp->succ_next) @@ -675,11 +674,7 @@ try_redirect_by_replacing_jump (e, target) if (tmp || !onlyjump_p (insn)) return false; - if (flow2_completed && JUMP_LABEL (insn) - && (table = NEXT_INSN (JUMP_LABEL (insn))) != NULL_RTX - && GET_CODE (table) == JUMP_INSN - && (GET_CODE (PATTERN (table)) == ADDR_VEC - || GET_CODE (PATTERN (table)) == ADDR_DIFF_VEC)) + if ((!optimize || flow2_completed) && tablejump_p (insn)) return false; /* Avoid removing branch with side effects. */