aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2017-06-05 19:41:32 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2017-06-05 17:41:32 +0000
commitaea5e79a63f965a9ed5fd2ef1943e3865495e987 (patch)
tree52c60043f6ed486d65cb1a8a38cb71979166465c /gcc/cfgexpand.c
parent2f20e7db2caea4909ddff539b2419c9f34c907c4 (diff)
downloadgcc-aea5e79a63f965a9ed5fd2ef1943e3865495e987.zip
gcc-aea5e79a63f965a9ed5fd2ef1943e3865495e987.tar.gz
gcc-aea5e79a63f965a9ed5fd2ef1943e3865495e987.tar.bz2
cfgexpand.c (expand_gimple_tailcall): Initialize profile of new edge.
* cfgexpand.c (expand_gimple_tailcall): Initialize profile of new edge. * ipa-inline.c (want_inline_self_recursive_call_p): Watch for missing profile in callgraph edge. * profile-count.h (apply_probability): If THIS is 0, then result is 0 (apply_scale): Likewise. * tree-inline.c (copy_bb, copy_edges_for_bb, copy_cfg_body): Also scale profile when inlining function with zero profile. (initialize_cfun): Update exit block profile even when it is zero. * tree-ssa-threadupdate.c (clear_counts_path): Handle correctly case when profile is read. From-SVN: r248885
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r--gcc/cfgexpand.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 3261fce..c1f80727 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -3850,8 +3850,8 @@ expand_gimple_tailcall (basic_block bb, gcall *stmt, bool *can_fallthru)
e = make_edge (bb, EXIT_BLOCK_PTR_FOR_FN (cfun), EDGE_ABNORMAL
| EDGE_SIBCALL);
- e->probability += probability;
- e->count += count;
+ e->probability = probability;
+ e->count = count;
BB_END (bb) = last;
update_bb_for_insn (bb);