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:
Martin Liska 2019-01-18 12:32:53 +01:00 committed by Martin Liska
parent d273c40a55
commit 756721ba89
9 changed files with 30 additions and 9 deletions

View file

@ -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> 2019-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/aarch64/aarch64-opts.h (enum stack_protector_guard): New * config/aarch64/aarch64-opts.h (enum stack_protector_guard): New

View file

@ -995,7 +995,7 @@ DEFPARAM (PARAM_PROFILE_FUNC_INTERNAL_ID,
/* When the parameter is 1, track the most frequent N target /* When the parameter is 1, track the most frequent N target
addresses in indirect-call profile. This disables 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, DEFPARAM (PARAM_INDIR_CALL_TOPN_PROFILE,
"indir-call-topn-profile", "indir-call-topn-profile",
"Track top N target addresses in indirect-call profile.", "Track top N target addresses in indirect-call profile.",

View file

@ -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> 2019-01-18 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/86214 PR tree-optimization/86214

View file

@ -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 "__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_time_profiler_counter = " 1 "optimized" } } */
/* { dg-final { scan-tree-dump-times "__gcov_init" 1 "optimized" } } */ /* { dg-final { scan-tree-dump-times "__gcov_init" 1 "optimized" } } */

View file

@ -186,7 +186,7 @@ gimple_init_gcov_profiler (void)
gcov_type_node, gcov_type_node,
ptr_type_node, ptr_type_node,
NULL_TREE); 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)) if (PARAM_VALUE (PARAM_INDIR_CALL_TOPN_PROFILE))
profiler_fn_name = "__gcov_indirect_call_topn_profiler"; profiler_fn_name = "__gcov_indirect_call_topn_profiler";
@ -459,9 +459,9 @@ gimple_gen_ic_func_profiler (void)
/* Insert code: /* Insert code:
if (__gcov_indirect_call_callee != NULL) if (__gcov_indirect_call_callee != NULL)
__gcov_indirect_call_profiler_v2 (profile_id, &current_function_decl); __gcov_indirect_call_profiler_v3 (profile_id, &current_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. */ resetting __gcov_indirect_call_callee to NULL. */
gimple_stmt_iterator gsi = gsi_start_bb (cond_bb); gimple_stmt_iterator gsi = gsi_start_bb (cond_bb);

View file

@ -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> 2019-01-18 Martin Liska <mliska@suse.cz>
* libgcov-driver.c (GCOV_PROF_PREFIX): Define. * libgcov-driver.c (GCOV_PROF_PREFIX): Define.

View file

@ -899,7 +899,7 @@ LIBGCOV_PROFILER = _gcov_interval_profiler \
_gcov_average_profiler_atomic \ _gcov_average_profiler_atomic \
_gcov_ior_profiler \ _gcov_ior_profiler \
_gcov_ior_profiler_atomic \ _gcov_ior_profiler_atomic \
_gcov_indirect_call_profiler_v2 \ _gcov_indirect_call_profiler_v3 \
_gcov_time_profiler \ _gcov_time_profiler \
_gcov_indirect_call_topn_profiler _gcov_indirect_call_topn_profiler
LIBGCOV_INTERFACE = _gcov_dump _gcov_flush _gcov_fork \ LIBGCOV_INTERFACE = _gcov_dump _gcov_flush _gcov_fork \

View file

@ -296,7 +296,7 @@ __gcov_indirect_call_topn_profiler (gcov_type value, void* cur_func)
} }
#endif #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 /* 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). 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. */ /* Tries to determine the most common value among its inputs. */
void 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 /* If the C++ virtual tables contain function descriptors then one
function may have multiple descriptors and we need to dereference function may have multiple descriptors and we need to dereference

View file

@ -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_pow2_profiler_atomic (gcov_type *, gcov_type);
extern void __gcov_one_value_profiler (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_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 (gcov_type *);
extern void __gcov_time_profiler_atomic (gcov_type *); extern void __gcov_time_profiler_atomic (gcov_type *);
extern void __gcov_average_profiler (gcov_type *, gcov_type); extern void __gcov_average_profiler (gcov_type *, gcov_type);