mirror of git://gcc.gnu.org/git/gcc.git
cfg.c (update_bb_profile_for_threading): Fix profile updating.
* cfg.c (update_bb_profile_for_threading): Fix profile updating. (scale_bbs_frequencies_int): Watch roundoff errors. * predict.c (return_prediction): Initialize return_stmt. From-SVN: r102087
This commit is contained in:
parent
866c78db25
commit
84fc24e8a0
|
|
@ -1,3 +1,9 @@
|
||||||
|
2005-07-16 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
|
* cfg.c (update_bb_profile_for_threading): Fix profile updating.
|
||||||
|
(scale_bbs_frequencies_int): Watch roundoff errors.
|
||||||
|
* predict.c (return_prediction): Initialize return_stmt.
|
||||||
|
|
||||||
2005-07-16 Jan Hubicka <jh@suse.cz>
|
2005-07-16 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
* profile.c (rest_of_handle_branch_prob): Fix handling of estimation
|
* profile.c (rest_of_handle_branch_prob): Fix handling of estimation
|
||||||
|
|
|
||||||
10
gcc/cfg.c
10
gcc/cfg.c
|
|
@ -896,7 +896,11 @@ update_bb_profile_for_threading (basic_block bb, int edge_frequency,
|
||||||
int scale = 65536 * REG_BR_PROB_BASE / prob;
|
int scale = 65536 * REG_BR_PROB_BASE / prob;
|
||||||
|
|
||||||
FOR_EACH_EDGE (c, ei, bb->succs)
|
FOR_EACH_EDGE (c, ei, bb->succs)
|
||||||
c->probability = (c->probability * scale) / 65536;
|
{
|
||||||
|
c->probability = (c->probability * scale) / 65536;
|
||||||
|
if (c->probability > REG_BR_PROB_BASE)
|
||||||
|
c->probability = REG_BR_PROB_BASE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gcc_assert (bb == taken_edge->src);
|
gcc_assert (bb == taken_edge->src);
|
||||||
|
|
@ -917,6 +921,10 @@ scale_bbs_frequencies_int (basic_block *bbs, int nbbs, int num, int den)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
edge e;
|
edge e;
|
||||||
|
if (num < 0)
|
||||||
|
num = 0;
|
||||||
|
if (num > den)
|
||||||
|
return;
|
||||||
for (i = 0; i < nbbs; i++)
|
for (i = 0; i < nbbs; i++)
|
||||||
{
|
{
|
||||||
edge_iterator ei;
|
edge_iterator ei;
|
||||||
|
|
|
||||||
|
|
@ -1206,7 +1206,7 @@ return_prediction (tree val, enum prediction *prediction)
|
||||||
static void
|
static void
|
||||||
apply_return_prediction (int *heads)
|
apply_return_prediction (int *heads)
|
||||||
{
|
{
|
||||||
tree return_stmt;
|
tree return_stmt = NULL;
|
||||||
tree return_val;
|
tree return_val;
|
||||||
edge e;
|
edge e;
|
||||||
tree phi;
|
tree phi;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue