]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR rtl-optimization/11350 (undefined labels with -Os -fPIC)
authorJan Hubicka <jh@suse.cz>
Fri, 16 Jan 2004 11:07:17 +0000 (12:07 +0100)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 16 Jan 2004 11:07:17 +0000 (03:07 -0800)
        PR opt/11350
        * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
        after reload.
        * cfgrtl.c (try_redirect_by_replacing_branch): Likewise.

From-SVN: r75967

gcc/ChangeLog
gcc/cfgcleanup.c
gcc/cfgrtl.c

index 7b8334e35ebb76fa4d63185bd5bbc1794117909e..32008eecfe0c15519d63b33b6efc0334bffcef93 100644 (file)
@@ -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
index aa120bd4bec2e2cc8262d668e200fd8bc9ee46d3..5f5d13645f6285ee8ff39a1fd61b0d26d964e49c 100644 (file)
@@ -1704,7 +1704,7 @@ try_optimize_cfg (mode)
                     /* 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))
index bc2d39965fbddd887635d50e17de029f6450f29a..ce2890243a925a38750a71b71e8685a597275cc5 100644 (file)
@@ -688,7 +688,7 @@ try_redirect_by_replacing_jump (e, target)
 
   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