cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps even after reload, just don't remove the actual jump tables.

* cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
	even after reload, just don't remove the actual jump tables.

From-SVN: r76028
This commit is contained in:
Geoffrey Keating 2004-01-17 07:46:49 +00:00 committed by Geoffrey Keating
parent 53dd3be37f
commit ab530ea8b8
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2004-01-16 Geoffrey Keating <geoffk@apple.com>
* cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
even after reload, just don't remove the actual jump tables.
2004-01-17 J. Brobecker <brobecker@gnat.com>
* dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().

View File

@ -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 || reload_completed) && tablejump_p (insn, NULL, NULL))
if ((!optimize || flow2_completed) && tablejump_p (insn, NULL, NULL))
return false;
/* Avoid removing branch with side effects. */
@ -793,7 +793,7 @@ try_redirect_by_replacing_jump (edge e, basic_block target, bool in_cfglayout)
/* Recognize a tablejump that we are converting to a
simple jump and remove its associated CODE_LABEL
and ADDR_VEC or ADDR_DIFF_VEC. */
if (tablejump_p (insn, &label, &table))
if (! reload_completed && tablejump_p (insn, &label, &table))
delete_insn_chain (label, table);
barrier = next_nonnote_insn (BB_END (src));