Commit 5204d665 by Jan Hubicka Committed by Jan Hubicka

except.c (except.c): Do not rebuild CFG.


	* except.c (except.c): Do not rebuild CFG.
	* toplev.c (rest_of_compilation): Recompute CFG after sibcall
	optimization.

From-SVN: r54217
parent 824030c6
Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
* except.c (except.c): Do not rebuild CFG.
* toplev.c (rest_of_compilation): Recompute CFG after sibcall
optimization.
Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz> Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
* integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies. * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
......
...@@ -2499,8 +2499,6 @@ finish_eh_generation () ...@@ -2499,8 +2499,6 @@ finish_eh_generation ()
connect many of the handlers, and then type information will not connect many of the handlers, and then type information will not
be effective. Still, this is a win over previous implementations. */ be effective. Still, this is a win over previous implementations. */
rebuild_jump_labels (get_insns ());
find_basic_blocks (get_insns (), max_reg_num (), 0);
cleanup_cfg (CLEANUP_PRE_LOOP | CLEANUP_NO_INSN_DEL); cleanup_cfg (CLEANUP_PRE_LOOP | CLEANUP_NO_INSN_DEL);
/* These registers are used by the landing pads. Make sure they /* These registers are used by the landing pads. Make sure they
......
...@@ -2560,6 +2560,12 @@ rest_of_compilation (decl) ...@@ -2560,6 +2560,12 @@ rest_of_compilation (decl)
rtx insn; rtx insn;
optimize_sibling_and_tail_recursive_calls (); optimize_sibling_and_tail_recursive_calls ();
/* Recompute the CFG as sibling optimization clobbers it randomly. */
free_bb_for_insn ();
find_exception_handler_labels ();
rebuild_jump_labels (insns);
find_basic_blocks (insns, max_reg_num (), rtl_dump_file);
/* There is pass ordering problem - we must lower NOTE_INSN_PREDICTION /* There is pass ordering problem - we must lower NOTE_INSN_PREDICTION
notes before simplifying cfg and we must do lowering after sibcall notes before simplifying cfg and we must do lowering after sibcall
that unhides parts of RTL chain and cleans up the CFG. that unhides parts of RTL chain and cleans up the CFG.
...@@ -2576,7 +2582,6 @@ rest_of_compilation (decl) ...@@ -2576,7 +2582,6 @@ rest_of_compilation (decl)
scope_to_insns_initialize (); scope_to_insns_initialize ();
/* Complete generation of exception handling code. */ /* Complete generation of exception handling code. */
find_exception_handler_labels ();
if (doing_eh (0)) if (doing_eh (0))
{ {
timevar_push (TV_JUMP); timevar_push (TV_JUMP);
......
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