From e4efa9715632519e202f57250b3d8954b17ac9c9 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Thu, 27 May 2004 00:30:19 +0200 Subject: [PATCH] * cfgcleanup.c (try_optimize_cfg): Do not merge across jumptables. From-SVN: r82296 --- gcc/ChangeLog | 5 ++++- gcc/cfgcleanup.c | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1fad8d51b1f..167feba2e2f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-05-27 Jan Hubicka + + * cfgcleanup.c (try_optimize_cfg): Do not merge across jumptables. + 2004-05-27 Jan Hubicka * i386.md (UNSPECV_EH_RETURN): Kill. @@ -8,7 +12,6 @@ * cfgcleanup.c (try_forward_edges): Do not check loop structure when not loop optimizing. - (try_optimize_cfg): Do not merge across jumptables. 2004-05-26 Jan Hubicka diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index 10d9e96c135..9801b570284 100644 --- a/gcc/cfgcleanup.c +++ b/gcc/cfgcleanup.c @@ -1938,7 +1938,9 @@ try_optimize_cfg (int mode) && (GET_CODE (BB_END (b)) != JUMP_INSN || (reload_completed ? simplejump_p (BB_END (b)) - : onlyjump_p (BB_END (b)))) + : (onlyjump_p (BB_END (b)) + && !tablejump_p (BB_END (b), + NULL, NULL)))) && (next = merge_blocks_move (s, b, c, mode))) { b = next; -- 2.30.2