Commit 097c2d51 by Jan Hubicka Committed by Jan Hubicka

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
parent 861f9cd0
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> Wed Jun 20 19:08:18 CEST 2001 Jan Hubicka <jh@suse.cz>
* predict.c (estimate_loops_at_level, propagate_freq * predict.c (estimate_loops_at_level, propagate_freq
......
...@@ -3258,6 +3258,15 @@ rest_of_compilation (decl) ...@@ -3258,6 +3258,15 @@ rest_of_compilation (decl)
cleanup_cfg (); cleanup_cfg ();
check_function_return_warnings (); 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); close_dump_file (DFI_cfg, print_rtl_with_bb, insns);
if (profile_arc_flag || flag_test_coverage || flag_branch_probabilities) if (profile_arc_flag || flag_test_coverage || flag_branch_probabilities)
...@@ -3290,7 +3299,6 @@ rest_of_compilation (decl) ...@@ -3290,7 +3299,6 @@ rest_of_compilation (decl)
flow_loops_free (&loops); flow_loops_free (&loops);
} }
life_analysis (insns, rtl_dump_file, PROP_FINAL); life_analysis (insns, rtl_dump_file, PROP_FINAL);
mark_constant_function ();
timevar_pop (TV_FLOW); timevar_pop (TV_FLOW);
register_life_up_to_date = 1; register_life_up_to_date = 1;
......
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