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>
* 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,
fix_crossing_conditional_branches): Use make_single_succ_edge
to keep profile consistent.
......
......@@ -4904,7 +4904,9 @@ rtl_flow_call_edges_add (sbitmap blocks)
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))
......
......@@ -506,7 +506,7 @@ class GTY(()) profile_count
/* Assume numbers smaller than this to multiply. This is set to make
testsuite pass, in future we may implement precise multiplication in higer
rangers. */
static const int64_t max_safe_multiplier = 131072;
static const uint64_t max_safe_multiplier = 131072;
public:
/* Used for counters which are expected to be never executed. */
......@@ -514,6 +514,13 @@ public:
{
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 ()
{
return from_gcov_type (1);
......
......@@ -8211,7 +8211,9 @@ gimple_flow_call_edges_add (sbitmap blocks)
if (e)
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);
}
......@@ -8220,7 +8222,7 @@ gimple_flow_call_edges_add (sbitmap blocks)
}
if (blocks_split)
verify_flow_info ();
checking_verify_flow_info ();
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