mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

54 lines
1.9 KiB

This patch is taken from
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11350
jsaw
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ChangeLog,v
retrieving revision 1.16114.2.883
retrieving revision 1.16114.2.884
diff -u -r1.16114.2.883 -r1.16114.2.884
--- gcc/gcc/ChangeLog 2004/01/15 20:21:31 1.16114.2.883
+++ gcc/gcc/ChangeLog 2004/01/16 11:06:57 1.16114.2.884
@@ -1,3 +1,10 @@
+2004-01-16 Jan Hubicka <jh@suse.cz>
+
+ PR opt/11350
+ * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
+ after reload.
+ * cfgrtl.c (try_redirect_by_replacing_branch): Likewise.
+
2004-01-15 J"orn Rennecke <joern.rennecke@superh.com>
PR optimization/10392
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cfgcleanup.c,v
retrieving revision 1.68.2.9
retrieving revision 1.68.2.10
diff -u -r1.68.2.9 -r1.68.2.10
--- gcc/gcc/cfgcleanup.c 2004/01/01 13:19:39 1.68.2.9
+++ gcc/gcc/cfgcleanup.c 2004/01/16 11:07:16 1.68.2.10
@@ -1704,7 +1704,7 @@
/* If the jump insn has side effects,
we can't kill the edge. */
&& (GET_CODE (b->end) != JUMP_INSN
- || (flow2_completed
+ || (reload_completed
? simplejump_p (b->end)
: onlyjump_p (b->end)))
&& merge_blocks (s, b, c, mode))
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cfgrtl.c,v
retrieving revision 1.61.2.13
retrieving revision 1.61.2.14
diff -u -r1.61.2.13 -r1.61.2.14
--- gcc/gcc/cfgrtl.c 2003/12/03 07:00:29 1.61.2.13
+++ gcc/gcc/cfgrtl.c 2004/01/16 11:07:17 1.61.2.14
@@ -688,7 +688,7 @@
if (tmp || !onlyjump_p (insn))
return false;
- if (flow2_completed && JUMP_LABEL (insn)
+ if (reload_completed && JUMP_LABEL (insn)
&& (table = NEXT_INSN (JUMP_LABEL (insn))) != NULL_RTX
&& GET_CODE (table) == JUMP_INSN
&& (GET_CODE (PATTERN (table)) == ADDR_VEC