fixed gcc33 for -Os -fPIC compilation git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@2244 c5f82cb5-29bc-0310-9cd0-bff59a50e3bcrocklinux
@ -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 |