Bump version of __gcov_indirect_call_profiler function as there was ABI change.
2019-01-18 Martin Liska <mliska@suse.cz> * params.def: Fix comment. * tree-profile.c (gimple_init_gcov_profiler): Bump function name. (gimple_gen_ic_func_profiler): Likewise. 2019-01-18 Martin Liska <mliska@suse.cz> * gcc.dg/no_profile_instrument_function-attr-1.c: Update expected function name. 2019-01-18 Martin Liska <mliska@suse.cz> * libgcov-profiler.c (__gcov_indirect_call_profiler_v2): Rename to ... (__gcov_indirect_call_profiler_v3): ... this. * libgcov.h (__gcov_indirect_call_profiler_v2): Likewise. (__gcov_indirect_call_profiler_v3): Likewise. * Makefile.in: Bump function name. From-SVN: r268071
This commit is contained in:
parent
d273c40a55
commit
756721ba89
@ -1,3 +1,10 @@
|
||||
2019-01-18 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* params.def: Fix comment.
|
||||
* tree-profile.c (gimple_init_gcov_profiler): Bump function
|
||||
name.
|
||||
(gimple_gen_ic_func_profiler): Likewise.
|
||||
|
||||
2019-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||||
|
||||
* config/aarch64/aarch64-opts.h (enum stack_protector_guard): New
|
||||
|
@ -995,7 +995,7 @@ DEFPARAM (PARAM_PROFILE_FUNC_INTERNAL_ID,
|
||||
|
||||
/* When the parameter is 1, track the most frequent N target
|
||||
addresses in indirect-call profile. This disables
|
||||
indirect_call_profiler_v2 which tracks single target. */
|
||||
indirect_call_profiler_v3 which tracks single target. */
|
||||
DEFPARAM (PARAM_INDIR_CALL_TOPN_PROFILE,
|
||||
"indir-call-topn-profile",
|
||||
"Track top N target addresses in indirect-call profile.",
|
||||
|
@ -1,3 +1,8 @@
|
||||
2019-01-18 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* gcc.dg/no_profile_instrument_function-attr-1.c: Update
|
||||
expected function name.
|
||||
|
||||
2019-01-18 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/86214
|
||||
|
@ -19,6 +19,6 @@ int main ()
|
||||
}
|
||||
|
||||
/* { dg-final { scan-tree-dump-times "__gcov0\\.main.* = PROF_edge_counter" 1 "optimized"} } */
|
||||
/* { dg-final { scan-tree-dump-times "__gcov_indirect_call_profiler_v2" 1 "optimized" } } */
|
||||
/* { dg-final { scan-tree-dump-times "__gcov_indirect_call_profiler_v3" 1 "optimized" } } */
|
||||
/* { dg-final { scan-tree-dump-times "__gcov_time_profiler_counter = " 1 "optimized" } } */
|
||||
/* { dg-final { scan-tree-dump-times "__gcov_init" 1 "optimized" } } */
|
||||
|
@ -186,7 +186,7 @@ gimple_init_gcov_profiler (void)
|
||||
gcov_type_node,
|
||||
ptr_type_node,
|
||||
NULL_TREE);
|
||||
profiler_fn_name = "__gcov_indirect_call_profiler_v2";
|
||||
profiler_fn_name = "__gcov_indirect_call_profiler_v3";
|
||||
if (PARAM_VALUE (PARAM_INDIR_CALL_TOPN_PROFILE))
|
||||
profiler_fn_name = "__gcov_indirect_call_topn_profiler";
|
||||
|
||||
@ -459,9 +459,9 @@ gimple_gen_ic_func_profiler (void)
|
||||
/* Insert code:
|
||||
|
||||
if (__gcov_indirect_call_callee != NULL)
|
||||
__gcov_indirect_call_profiler_v2 (profile_id, ¤t_function_decl);
|
||||
__gcov_indirect_call_profiler_v3 (profile_id, ¤t_function_decl);
|
||||
|
||||
The function __gcov_indirect_call_profiler_v2 is responsible for
|
||||
The function __gcov_indirect_call_profiler_v3 is responsible for
|
||||
resetting __gcov_indirect_call_callee to NULL. */
|
||||
|
||||
gimple_stmt_iterator gsi = gsi_start_bb (cond_bb);
|
||||
|
@ -1,3 +1,12 @@
|
||||
2019-01-18 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* libgcov-profiler.c (__gcov_indirect_call_profiler_v2): Rename
|
||||
to ...
|
||||
(__gcov_indirect_call_profiler_v3): ... this.
|
||||
* libgcov.h (__gcov_indirect_call_profiler_v2): Likewise.
|
||||
(__gcov_indirect_call_profiler_v3): Likewise.
|
||||
* Makefile.in: Bump function name.
|
||||
|
||||
2019-01-18 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* libgcov-driver.c (GCOV_PROF_PREFIX): Define.
|
||||
|
@ -899,7 +899,7 @@ LIBGCOV_PROFILER = _gcov_interval_profiler \
|
||||
_gcov_average_profiler_atomic \
|
||||
_gcov_ior_profiler \
|
||||
_gcov_ior_profiler_atomic \
|
||||
_gcov_indirect_call_profiler_v2 \
|
||||
_gcov_indirect_call_profiler_v3 \
|
||||
_gcov_time_profiler \
|
||||
_gcov_indirect_call_topn_profiler
|
||||
LIBGCOV_INTERFACE = _gcov_dump _gcov_flush _gcov_fork \
|
||||
|
@ -296,7 +296,7 @@ __gcov_indirect_call_topn_profiler (gcov_type value, void* cur_func)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef L_gcov_indirect_call_profiler_v2
|
||||
#ifdef L_gcov_indirect_call_profiler_v3
|
||||
|
||||
/* These two variables are used to actually track caller and callee. Keep
|
||||
them in TLS memory so races are not common (they are written to often).
|
||||
@ -318,7 +318,7 @@ struct indirect_call_tuple __gcov_indirect_call;
|
||||
|
||||
/* Tries to determine the most common value among its inputs. */
|
||||
void
|
||||
__gcov_indirect_call_profiler_v2 (gcov_type value, void* cur_func)
|
||||
__gcov_indirect_call_profiler_v3 (gcov_type value, void* cur_func)
|
||||
{
|
||||
/* If the C++ virtual tables contain function descriptors then one
|
||||
function may have multiple descriptors and we need to dereference
|
||||
|
@ -278,7 +278,7 @@ extern void __gcov_pow2_profiler (gcov_type *, gcov_type);
|
||||
extern void __gcov_pow2_profiler_atomic (gcov_type *, gcov_type);
|
||||
extern void __gcov_one_value_profiler (gcov_type *, gcov_type);
|
||||
extern void __gcov_one_value_profiler_atomic (gcov_type *, gcov_type);
|
||||
extern void __gcov_indirect_call_profiler_v2 (gcov_type, void *);
|
||||
extern void __gcov_indirect_call_profiler_v3 (gcov_type, void *);
|
||||
extern void __gcov_time_profiler (gcov_type *);
|
||||
extern void __gcov_time_profiler_atomic (gcov_type *);
|
||||
extern void __gcov_average_profiler (gcov_type *, gcov_type);
|
||||
|
Loading…
Reference in New Issue
Block a user