|
|
@ -0,0 +1,54 @@ |
|
|
|
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 |