+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
/* 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.",
+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
}
/* { 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" } } */
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";
/* 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);
+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.
_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 \
}
#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).
/* 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
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);