Commit e24e7211 by Jan Hubicka Committed by Richard Henderson

re PR rtl-optimization/11350 (undefined labels with -Os -fPIC)

        PR opt/11350
        * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
        after reload.
        * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
        rtl_try_redirect_by_replacing_branch): Likewise.

From-SVN: r75968
parent fbf3e0dd
2004-01-16 Jan Hubicka <jh@suse.cz>
PR opt/11350
* cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
after reload.
* cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
rtl_try_redirect_by_replacing_branch): Likewise.
2004-01-15 Geoffrey Keating <geoffk@apple.com>
PR pch/13689
......
......@@ -1766,7 +1766,7 @@ try_optimize_cfg (int mode)
/* If the jump insn has side effects,
we can't kill the edge. */
&& (GET_CODE (BB_END (b)) != JUMP_INSN
|| (flow2_completed
|| (reload_completed
? simplejump_p (BB_END (b))
: onlyjump_p (BB_END (b))))
&& (next = merge_blocks_move (s, b, c, mode)))
......
......@@ -661,7 +661,7 @@ rtl_can_merge_blocks (basic_block a,basic_block b)
/* If the jump insn has side effects,
we can't kill the edge. */
&& (GET_CODE (BB_END (a)) != JUMP_INSN
|| (flow2_completed
|| (reload_completed
? simplejump_p (BB_END (a)) : onlyjump_p (BB_END (a)))));
}
......@@ -703,7 +703,7 @@ try_redirect_by_replacing_jump (edge e, basic_block target, bool in_cfglayout)
if (tmp || !onlyjump_p (insn))
return false;
if ((!optimize || flow2_completed) && tablejump_p (insn, NULL, NULL))
if ((!optimize || reload_completed) && tablejump_p (insn, NULL, NULL))
return false;
/* Avoid removing branch with side effects. */
......@@ -2607,7 +2607,7 @@ cfg_layout_can_merge_blocks_p (basic_block a, basic_block b)
/* If the jump insn has side effects,
we can't kill the edge. */
&& (GET_CODE (BB_END (a)) != JUMP_INSN
|| (flow2_completed
|| (reload_completed
? simplejump_p (BB_END (a)) : onlyjump_p (BB_END (a)))));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment