toplev.c (rest_of_compilation): Run mark_constant_function before profile-arcs.

* toplev.c (rest_of_compilation): Run mark_constant_function
	before profile-arcs.

From-SVN: r43477
This commit is contained in:
Jan Hubicka 2001-06-20 19:12:34 +02:00 committed by Jan Hubicka
parent 861f9cd090
commit 097c2d51de
2 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,8 @@
Wed Jun 20 19:10:48 CEST 2001 Jan Hubicka <jh@suse.cz>
* toplev.c (rest_of_compilation): Run mark_constant_function
before profile-arcs.
Wed Jun 20 19:08:18 CEST 2001 Jan Hubicka <jh@suse.cz>
* predict.c (estimate_loops_at_level, propagate_freq

View File

@ -3258,6 +3258,15 @@ rest_of_compilation (decl)
cleanup_cfg ();
check_function_return_warnings ();
/* It may make more sense to mark constant functions after dead code is
eliminated by life_analyzis, but we need to do it early, as -fprofile-arcs
may insert code making function non-constant, but we still must consider
it as constant, otherwise -fbranch-probabilities will not read data back.
life_analyzis rarely eliminates modification of external memory.
*/
mark_constant_function ();
close_dump_file (DFI_cfg, print_rtl_with_bb, insns);
if (profile_arc_flag || flag_test_coverage || flag_branch_probabilities)
@ -3290,7 +3299,6 @@ rest_of_compilation (decl)
flow_loops_free (&loops);
}
life_analysis (insns, rtl_dump_file, PROP_FINAL);
mark_constant_function ();
timevar_pop (TV_FLOW);
register_life_up_to_date = 1;