Commit 36d95aa8 by Jan Hubicka Committed by Jan Hubicka

cfgrtl.c (rtl_flow_call_edges_add): Update profile.

	* cfgrtl.c (rtl_flow_call_edges_add): Update profile.
	* tree-cfg.c (gimple_flow_call_edges_add): Likewise.
	* profile-count.h (max_safe_multiplier): Make unsigned.
	(profile_count::guessed_zero): New.

From-SVN: r249869
parent a4f20288
2017-07-01 Jan Hubicka <hubicka@ucw.cz> 2017-07-01 Jan Hubicka <hubicka@ucw.cz>
* cfgrtl.c (rtl_flow_call_edges_add): Update profile.
* tree-cfg.c (gimple_flow_call_edges_add): Likewise.
* profile-count.h (max_safe_multiplier): Make unsigned.
(profile_count::guessed_zero): New.
2017-07-01 Jan Hubicka <hubicka@ucw.cz>
* bb-reorder.c (fix_up_crossing_landing_pad, * bb-reorder.c (fix_up_crossing_landing_pad,
fix_crossing_conditional_branches): Use make_single_succ_edge fix_crossing_conditional_branches): Use make_single_succ_edge
to keep profile consistent. to keep profile consistent.
......
...@@ -4904,7 +4904,9 @@ rtl_flow_call_edges_add (sbitmap blocks) ...@@ -4904,7 +4904,9 @@ rtl_flow_call_edges_add (sbitmap blocks)
blocks_split++; blocks_split++;
} }
make_edge (bb, EXIT_BLOCK_PTR_FOR_FN (cfun), EDGE_FAKE); edge ne = make_edge (bb, EXIT_BLOCK_PTR_FOR_FN (cfun), EDGE_FAKE);
ne->probability = profile_probability::guessed_never ();
ne->count = profile_count::guessed_zero ();
} }
if (insn == BB_HEAD (bb)) if (insn == BB_HEAD (bb))
......
...@@ -506,7 +506,7 @@ class GTY(()) profile_count ...@@ -506,7 +506,7 @@ class GTY(()) profile_count
/* Assume numbers smaller than this to multiply. This is set to make /* Assume numbers smaller than this to multiply. This is set to make
testsuite pass, in future we may implement precise multiplication in higer testsuite pass, in future we may implement precise multiplication in higer
rangers. */ rangers. */
static const int64_t max_safe_multiplier = 131072; static const uint64_t max_safe_multiplier = 131072;
public: public:
/* Used for counters which are expected to be never executed. */ /* Used for counters which are expected to be never executed. */
...@@ -514,6 +514,13 @@ public: ...@@ -514,6 +514,13 @@ public:
{ {
return from_gcov_type (0); return from_gcov_type (0);
} }
static profile_count guessed_zero ()
{
profile_count c;
c.m_val = 0;
c.m_quality = profile_guessed;
return c;
}
static profile_count one () static profile_count one ()
{ {
return from_gcov_type (1); return from_gcov_type (1);
......
...@@ -8211,7 +8211,9 @@ gimple_flow_call_edges_add (sbitmap blocks) ...@@ -8211,7 +8211,9 @@ gimple_flow_call_edges_add (sbitmap blocks)
if (e) if (e)
blocks_split++; blocks_split++;
} }
make_edge (bb, EXIT_BLOCK_PTR_FOR_FN (cfun), EDGE_FAKE); e = make_edge (bb, EXIT_BLOCK_PTR_FOR_FN (cfun), EDGE_FAKE);
e->probability = profile_probability::guessed_never ();
e->count = profile_count::guessed_zero ();
} }
gsi_prev (&gsi); gsi_prev (&gsi);
} }
...@@ -8220,7 +8222,7 @@ gimple_flow_call_edges_add (sbitmap blocks) ...@@ -8220,7 +8222,7 @@ gimple_flow_call_edges_add (sbitmap blocks)
} }
if (blocks_split) if (blocks_split)
verify_flow_info (); checking_verify_flow_info ();
return blocks_split; return blocks_split;
} }
......
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