Skip to content
Snippets Groups Projects
  1. Mar 03, 2021
    • Martin Liska's avatar
      gcov: use mmap pools for KVP. · 00d79dc4
      Martin Liska authored
      gcc/ChangeLog:
      
      	PR gcov-profile/97461
      	* gcov-io.h (GCOV_PREALLOCATED_KVP): Remove.
      
      libgcc/ChangeLog:
      
      	PR gcov-profile/97461
      	* config.in: Regenerate.
      	* configure: Likewise.
      	* configure.ac: Check sys/mman.h header file
      	* libgcov-driver.c (struct gcov_kvp): Remove static
      	pre-allocated pool and use a dynamic one.
      	* libgcov.h (MMAP_CHUNK_SIZE): New.
      	(gcov_counter_add): Use mmap to allocate pool for struct
      	gcov_kvp.
      00d79dc4
  2. Jan 26, 2021
  3. Jan 25, 2021
    • Martin Liska's avatar
      Restore profile reproducibility. · 5089df53
      Martin Liska authored
      gcc/ChangeLog:
      
      	PR gcov-profile/98739
      	* common.opt: Add missing sign symbol.
      	* value-prof.c (get_nth_most_common_value): Restore handling
      	of PROFILE_REPRODUCIBILITY_PARALLEL_RUNS and
      	PROFILE_REPRODUCIBILITY_MULTITHREADED.
      
      libgcc/ChangeLog:
      
      	PR gcov-profile/98739
      	* libgcov-merge.c (__gcov_merge_topn): Mark when merging
      	ends with a dropped counter.
      	* libgcov.h (gcov_topn_add_value): Add return value.
      5089df53
  4. Jan 04, 2021
  5. Oct 27, 2020
    • Martin Liska's avatar
      gcov-profile: use static pool for TOPN first · 14e19b82
      Martin Liska authored
      gcc/ChangeLog:
      
      	PR gcov-profile/97461
      	* gcov-io.h (GCOV_PREALLOCATED_KVP): Pre-allocate 64
      	static counters.
      
      libgcc/ChangeLog:
      
      	PR gcov-profile/97461
      	* libgcov.h (gcov_counter_add): Use first static counters
      	as it should help to have malloc wrappers set up.
      
      gcc/testsuite/ChangeLog:
      
      	PR gcov-profile/97461
      	* gcc.dg/tree-prof/pr97461.c: New test.
      14e19b82
  6. Jul 31, 2020
    • Martin Liska's avatar
      libgcov: support overloaded malloc · bc2b1a23
      Martin Liska authored
      gcc/ChangeLog:
      
      	* gcov-io.h (GCOV_PREALLOCATED_KVP): New.
      
      libgcc/ChangeLog:
      
      	* libgcov-driver.c: Add __gcov_kvp_pool
      	and __gcov_kvp_pool_index variables.
      	* libgcov.h (allocate_gcov_kvp): New.
      	(gcov_topn_add_value): Use it.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/tree-prof/indir-call-prof-malloc.c: New test.
      bc2b1a23
  7. Jun 25, 2020
    • Martin Liska's avatar
      gcov-tool: fix merge operation for summary · 88891c5f
      Martin Liska authored
      libgcc/ChangeLog:
      
      	* libgcov-driver.c (merge_summary): Remove function as its name
      	is misleading and doing something different.
      	(dump_one_gcov): Add ATTRIBUTE_UNUSED for 2 args. Take read summary
      	in gcov-tool.
      	* libgcov-util.c (curr_object_summary): Remove.
      	(read_gcda_file): Remove unused curr_object_summary.
      	(gcov_merge): Merge summaries.
      	* libgcov.h: Add summary argument for gcov_info struct.
      88891c5f
  8. Jun 17, 2020
    • Martin Liska's avatar
      gcov: fix gcov-tool merge for TOPN counters · 5fc312a9
      Martin Liska authored
      libgcc/ChangeLog:
      
      	* libgcov-util.c (read_gcda_finalize): Remove const operator.
      	(merge_wrapper): Add both counts and use them properly.
      	(topn_to_memory_representation): New function.
      	(gcov_merge): Covert on disk representation to in memory
      	representation.
      	* libgcov.h: Remove const operator.
      5fc312a9
  9. Jun 09, 2020
    • Martin Liska's avatar
      libgcov: fix TOPN type casting · 862b9b22
      Martin Liska authored
      The patch fixes tree-prof.exp tests on solaris11 and i686-linux-gnu,
      problem was that sizeof of a pointer is different from sizeof gcov_type.
      
      I'm going to install it if there are no objections.
      Thanks,
      Martin
      
      libgcc/ChangeLog:
      
      	PR gcov-profile/95494
      	* libgcov-driver.c (write_top_counters): Cast first to
      	intptr_t as sizeof(*) != sizeof(gcov_type).
      	* libgcov.h (gcov_counter_set_if_null): Remove.
      	(gcov_topn_add_value): Cast first to intptr_t and update
      	linked list directly.
      862b9b22
  10. Jun 03, 2020
    • Martin Liska's avatar
      gcov: Fix build on AIX · eb3480fc
      Martin Liska authored
      We must guard used atomic builtins with GCOV_SUPPORTS_ATOMIC.
      The patch is tested on AIX and I'm going to push it.
      
      libgcc/ChangeLog:
      
      	PR gcov-profile/95480
      	* libgcov-profiler.c (GCOV_SUPPORTS_ATOMIC): Move to...
      	* libgcov.h (GCOV_SUPPORTS_ATOMIC): ...here.
      	(gcov_counter_add): Use GCOV_SUPPORTS_ATOMIC guard.
      	(gcov_counter_set_if_null): Likewise.
      eb3480fc
  11. Jun 02, 2020
    • Martin Liska's avatar
      libgcov: replace malloc and calloc. · a04b7410
      Martin Liska authored
      The calloc was in the original tested version of the patch
      and I made accidental last minute change.
      
      Installed to master as obvious.
      
      libgcc/ChangeLog:
      
      	* libgcov.h (gcov_topn_add_value): Use xcalloc instead
      	of xmalloc.
      a04b7410
    • Martin Liska's avatar
      Make TOPN counter dynamically allocated. · 871e5ada
      Martin Liska authored
      gcc/ChangeLog:
      
      	* coverage.c (get_coverage_counts): Skip sanity check for TOP N counters
      	as they have variable number of counters.
      	* gcov-dump.c (main): Add new option -r.
      	(print_usage): Likewise.
      	(tag_counters): All new raw format.
      	* gcov-io.h (struct gcov_kvp): New.
      	(GCOV_TOPN_VALUES): Remove.
      	(GCOV_TOPN_VALUES_COUNTERS): Likewise.
      	(GCOV_TOPN_MEM_COUNTERS): New.
      	(GCOV_TOPN_DISK_COUNTERS): Likewise.
      	(GCOV_TOPN_MAXIMUM_TRACKED_VALUES): Likewise.
      	* ipa-profile.c (ipa_profile_generate_summary): Use
      	GCOV_TOPN_MAXIMUM_TRACKED_VALUES.
      	(ipa_profile_write_edge_summary): Likewise.
      	(ipa_profile_read_edge_summary): Likewise.
      	(ipa_profile): Remove usage of GCOV_TOPN_VALUES.
      	* profile.c (sort_hist_values): Sort variable number
      	of counters.
      	(compute_value_histograms): Special case for TOP N counters
      	that have dynamic number of key-value pairs.
      	* value-prof.c (dump_histogram_value): Dump variable number
      	of key-value pairs.
      	(stream_in_histogram_value): Stream in variable number
      	of key-value pairs for TOP N counter.
      	(get_nth_most_common_value): Deal with variable number
      	of key-value pairs.
      	(dump_ic_profile): Use GCOV_TOPN_MAXIMUM_TRACKED_VALUES
      	for loop iteration.
      	(gimple_find_values_to_profile): Set GCOV_TOPN_MEM_COUNTERS
      	to n_counters.
      	* doc/gcov-dump.texi: Document new -r option.
      
      libgcc/ChangeLog:
      
      	* libgcov-driver.c (prune_topn_counter): Remove.
      	(prune_counters): Likewise.
      	(merge_one_data): Special case TOP N counters
      	as they have variable length.
      	(write_top_counters): New.
      	(write_one_data): Special case TOP N.
      	(dump_one_gcov): Do not prune TOP N counters.
      	* libgcov-merge.c (merge_topn_values_set): Remove.
      	(__gcov_merge_topn): Use gcov_topn_add_value.
      	* libgcov-profiler.c (__gcov_topn_values_profiler_body):
      	Likewise here.
      	* libgcov.h (gcov_counter_add): New.
      	(gcov_counter_set_if_null): Likewise.
      	(gcov_topn_add_value): New.
      871e5ada
  12. May 28, 2020
    • Martin Liska's avatar
      gcov-tool: Flexible endian adjustment for merging coverage data · 17d1594b
      Martin Liska authored
      gcc/ChangeLog:
      2020-05-27  Dong JianQiang  <dongjianqiang2@huawei.com>
      
      	PR gcov-profile/95332
      	* gcov-io.c (gcov_var::endian): Move field.
      	(from_file): Add IN_GCOV_TOOL check.
      	* gcov-io.h (gcov_magic): Ditto.
      
      libgcc/ChangeLog:
      2020-05-27  Dong JianQiang  <dongjianqiang2@huawei.com>
      
      	PR gcov-profile/95332
      	* libgcov-util.c (read_gcda_file): Call gcov_magic.
      	* libgcov.h (gcov_magic): Disable GCC poison.
      17d1594b
  13. May 05, 2020
    • Martin Liska's avatar
      Do locking for __gcov_dump and __gcov_reset as well. · d39f7dc8
      Martin Liska authored
      	PR gcov-profile/93623
      	* Makefile.in: Add _gcov_lock_unlock to LIBGCOV_INTERFACE.
      	* libgcov-interface.c (ALIAS_void_fn): Remove.
      	(__gcov_lock): New.
      	(__gcov_unlock): New.
      	(__gcov_flush): Use __gcov_lock and __gcov_unlock.
      	(__gcov_reset): Likewise.
      	(__gcov_dump): Likewise.
      	* libgcov.h (__gcov_lock): New declaration.
      	(__gcov_unlock): Likewise.
      d39f7dc8
  14. Jan 27, 2020
    • Martin Liska's avatar
      Add __gcov_indirect_call_profiler_v4_atomic. · 3ae37f92
      Martin Liska authored
      	PR gcov-profile/93403
      	* tree-profile.c (gimple_init_gcov_profiler): Generate
      	both __gcov_indirect_call_profiler_v4 and
      	__gcov_indirect_call_profiler_v4_atomic.
      	PR gcov-profile/93403
      	* libgcov-profiler.c (__gcov_indirect_call_profiler_v4):
      	Call __gcov_indirect_call_profiler_body.
      	(__gcov_indirect_call_profiler_body): New.
      	(__gcov_indirect_call_profiler_v4_atomic): New.
      	* libgcov.h (__gcov_indirect_call_profiler_v4_atomic):
      	New declaration.
      3ae37f92
  15. Jan 01, 2020
  16. Jul 03, 2019
    • Martin Liska's avatar
      Rename SINGE_VALUE to TOPN_VALUES counters. · 596341c7
      Martin Liska authored
      2019-07-03  Martin Liska  <mliska@suse.cz>
      
      	* gcov-counter.def (GCOV_COUNTER_V_SINGLE): Remove.
      	(GCOV_COUNTER_V_TOPN): New.
      	(GCOV_COUNTER_V_INDIR): Use _topn.
      	* gcov-io.h (GCOV_DISK_SINGLE_VALUES): Remove.
      	(GCOV_TOPN_VALUES): New.
      	(GCOV_SINGLE_VALUE_COUNTERS): Remove.
      	(GCOV_TOPN_VALUES_COUNTERS): New.
      	* profile.c (instrument_values): Use HIST_TYPE_TOPN_VALUES.
      	* tree-profile.c:
      	(gimple_init_gcov_profiler): Rename variables from one_value
      	to topn_values.
      	(gimple_gen_one_value_profiler): Remove.
      	(gimple_gen_topn_values_profiler): New function.
      	* value-prof.c (dump_histogram_value): Use TOPN_VALUES
      	names instead of SINGLE_VALUE.
      	(stream_out_histogram_value): Likewise.
      	(stream_in_histogram_value): Likewise.
      	(get_most_common_single_value): Likewise.
      	(gimple_divmod_fixed_value_transform): Likewise.
      	(gimple_stringops_transform): Likewise.
      	(gimple_divmod_values_to_profile): Likewise.
      	(gimple_stringops_values_to_profile): Likewise.
      	(gimple_find_values_to_profile): Likewise.
      	* value-prof.h (enum hist_type): Rename to TOPN.
      	(gimple_gen_one_value_profiler): Remove.
      	(gimple_gen_topn_values_profiler): New.
      2019-07-03  Martin Liska  <mliska@suse.cz>
      
      	* Makefile.in: Use topn_values instead of one_value names.
      	* libgcov-merge.c (__gcov_merge_single): Move to ...
      	(__gcov_merge_topn): ... this.
      	(merge_single_value_set): Move to ...
      	(merge_topn_values_set): ... this.
      	* libgcov-profiler.c (__gcov_one_value_profiler_body): Move to
      	...
      	(__gcov_topn_values_profiler_body): ... this.
      	(__gcov_one_value_profiler_v2): Move to ...
      	(__gcov_topn_values_profiler): ... this.
      	(__gcov_one_value_profiler_v2_atomic): Move to ...
      	(__gcov_topn_values_profiler_atomic): ... this.
      	(__gcov_indirect_call_profiler_v4): Remove.
      	* libgcov-util.c (__gcov_single_counter_op): Move to ...
      	(__gcov_topn_counter_op): ... this.
      	* libgcov.h (L_gcov_merge_single): Remove.
      	(L_gcov_merge_topn): New.
      	(__gcov_merge_single): Remove.
      	(__gcov_merge_topn): New.
      	(__gcov_one_value_profiler_v2): Move to ..
      	(__gcov_topn_values_profiler): ... this.
      	(__gcov_one_value_profiler_v2_atomic): Move to ...
      	(__gcov_topn_values_profiler_atomic): ... this.
      
      From-SVN: r273005
      596341c7
  17. Jun 10, 2019
    • Martin Liska's avatar
      Add missing ATTR_UNUSED (PR bootstrap/90808). · 54e2d83c
      Martin Liska authored
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	PR bootstrap/90808
      	* libgcov.h: Add ATTRIBUTE_UNUSED.
      
      From-SVN: r272114
      54e2d83c
    • Martin Liska's avatar
      Implement N disk counters for single value and indirect call counters. · 92d41717
      Martin Liska authored
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	* gcov-io.h (GCOV_DISK_SINGLE_VALUES): New.
      	(GCOV_SINGLE_VALUE_COUNTERS): Likewise.
      	* ipa-profile.c (ipa_profile_generate_summary):
      	Use get_most_common_single_value.
      	* tree-profile.c (gimple_init_gcov_profiler):
      	Instrument with __gcov_one_value_profiler_v2
      	and __gcov_indirect_call_profiler_v4.
      	* value-prof.c (dump_histogram_value):
      	Print all values for HIST_TYPE_SINGLE_VALUE.
      	(stream_out_histogram_value): Update assert for
      	N values.
      	(stream_in_histogram_value): Set number of
      	counters for HIST_TYPE_SINGLE_VALUE.
      	(get_most_common_single_value): New.
      	(gimple_divmod_fixed_value_transform):
      	Use get_most_common_single_value.
      	(gimple_ic_transform): Likewise.
      	(gimple_stringops_transform): Likewise.
      	(gimple_find_values_to_profile): Set number
      	of counters for HIST_TYPE_SINGLE_VALUE.
      	* value-prof.h (get_most_common_single_value):
      	New.
      2019-06-10  Martin Liska  <mliska@suse.cz>
      
      	* Makefile.in: Add __gcov_one_value_profiler_v2,
      	__gcov_one_value_profiler_v2_atomic and
      	__gcov_indirect_call_profiler_v4.
      	* libgcov-merge.c (__gcov_merge_single): Change
      	function signature.
      	(merge_single_value_set): New.
      	* libgcov-profiler.c (__gcov_one_value_profiler_body):
      	Update functionality.
      	(__gcov_one_value_profiler): Remove.
      	(__gcov_one_value_profiler_v2): ... this.
      	(__gcov_one_value_profiler_atomic): Rename to ...
      	(__gcov_one_value_profiler_v2_atomic): this.
      	(__gcov_indirect_call_profiler_v3): Rename to ...
      	(__gcov_indirect_call_profiler_v4): ... this.
      	* libgcov.h (__gcov_one_value_profiler): Remove.
      	(__gcov_one_value_profiler_atomic): Remove.
      	(__gcov_one_value_profiler_v2_atomic): New.
      	(__gcov_indirect_call_profiler_v3): Remove.
      	(__gcov_one_value_profiler_v2): New.
      	(__gcov_indirect_call_profiler_v4): New.
      	(gcov_get_counter_ignore_scaling): New function.
      
      From-SVN: r272106
      92d41717
  18. Jun 07, 2019
    • Martin Liska's avatar
      Remove indirect call top N counter type. · e37333ba
      Martin Liska authored
      2019-06-07  Martin Liska  <mliska@suse.cz>
      
      	* doc/invoke.texi: Remove param.
      	* gcov-counter.def (GCOV_COUNTER_ICALL_TOPNV):
      	Remove.
      	* gcov-io.h (GCOV_ICALL_TOPN_VAL): Likewise.
      	(GCOV_ICALL_TOPN_NCOUNTS): Likewise.
      	* params.def (PARAM_INDIR_CALL_TOPN_PROFILE): Likewise.
      	* profile.c (instrument_values): Remove
      	HIST_TYPE_INDIR_CALL_TOPN.
      	* tree-profile.c (init_ic_make_global_vars):
      	Always build __gcov_indirect_call only.
      	(gimple_init_gcov_profiler): Remove usage
      	of PARAM_INDIR_CALL_TOPN_PROFILE.
      	(gimple_gen_ic_profiler): Likewise.
      	* value-prof.c (dump_histogram_value): Likewise.
      	(stream_in_histogram_value): Likewise.
      	(gimple_indirect_call_to_profile): Likewise.
      	(gimple_find_values_to_profile): Likewise.
      	* value-prof.h (enum hist_type): Likewise.
      2019-06-07  Martin Liska  <mliska@suse.cz>
      
      	* Makefile.in: Remove usage of
      	_gcov_merge_icall_topn.
      	* libgcov-driver.c (gcov_sort_n_vals): Remove.
      	(gcov_sort_icall_topn_counter): Likewise.
      	(gcov_sort_topn_counter_arrays): Likewise.
      	(dump_one_gcov): Remove call to gcov_sort_topn_counter_arrays.
      	* libgcov-merge.c (__gcov_merge_icall_topn): Remove.
      	* libgcov-profiler.c (__gcov_topn_value_profiler_body):
      	Likewise.
      	(GCOV_ICALL_COUNTER_CLEAR_THRESHOLD): Remove.
      	(struct indirect_call_tuple): Remove.
      	(__gcov_indirect_call_topn_profiler): Remove.
      	* libgcov-util.c (__gcov_icall_topn_counter_op): Remove.
      	* libgcov.h (gcov_sort_n_vals): Remove.
      	(L_gcov_merge_icall_topn): Likewise.
      	(__gcov_merge_icall_topn): Likewise.
      	(__gcov_indirect_call_topn_profiler): Likewise.
      
      From-SVN: r272030
      e37333ba
  19. Jan 18, 2019
    • Martin Liska's avatar
      Bump version of __gcov_indirect_call_profiler function as there was ABI change. · 756721ba
      Martin Liska authored
      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
      756721ba
  20. Jan 01, 2019
  21. Oct 04, 2018
    • Martin Liska's avatar
      Fix divergence in indirect profiling (PR gcov-profile/84107). · 3edbcdbe
      Martin Liska authored
      2018-10-04  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/84107
      	* tree-profile.c (init_ic_make_global_vars):
      	Remove ic_void_ptr_var and ic_gcov_type_ptr_var.
      	Come up with new ic_tuple* variables.  Emit
      	__gcov_indirect_call{,_topn} variables.
      	(gimple_gen_ic_profiler): Access the variable
      	and emit gimple.
      	(gimple_gen_ic_func_profiler): Access
      	__gcov_indirect_call.callee field.
      	(gimple_init_gcov_profiler): Use ptr_type_node.
      	* value-prof.c (gimple_ic): Use ptr_type_node.
      2018-10-04  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/84107
      	* libgcov-profiler.c (__gcov_indirect_call):
      	Change type to indirect_call_tuple.
      	(struct indirect_call_tuple): New struct.
      	(__gcov_indirect_call_topn_profiler): Change type.
      	(__gcov_indirect_call_profiler_v2): Use the new
      	variables.
      	* libgcov.h (struct indirect_call_tuple): New struct
      	definition.
      
      From-SVN: r264840
      3edbcdbe
  22. Jan 03, 2018
  23. Jun 21, 2017
  24. Apr 19, 2017
  25. Jan 01, 2017
  26. Sep 27, 2016
    • Martin Liska's avatar
      gcov: dump in a static dtor instead of in an atexit handler · 8c9434c2
      Martin Liska authored
      	PR gcov-profile/7970
      	PR gcov-profile/16855
      	PR gcov-profile/44779
      	* g++.dg/gcov/pr16855.C: New test.
      	* coverage.c (build_gcov_exit_decl): New function.
      	(coverage_obj_init): Call the function and generate __gcov_exit
      	destructor.
      	* doc/gcov.texi: Document when __gcov_exit function is called.
      	* libgcov-driver.c (__gcov_init): Do not register a atexit
      	handler.
      	(__gcov_exit): Rename from gcov_exit.
      	* libgcov.h (__gcov_exit): Declare.
      
      From-SVN: r240529
      8c9434c2
    • Martin Liska's avatar
      Remove __gcov_merge_delta (PR bootstrap/77749) · 56b653f1
      Martin Liska authored
      	PR bootstrap/77749
      	* gcov-counter.def: Remove GCOV_COUNTER_V_DELTA.
      	PR bootstrap/77749
      	* Makefile.in: Remove _gcov_merge_delta.
      	* libgcov-merge.c (void __gcov_merge_delta): Remove.
      	* libgcov-util.c (__gcov_delta_counter_op): Remove.
      	* libgcov.h: Remove declaration of __gcov_merge_delta.
      
      From-SVN: r240524
      56b653f1
  27. Aug 10, 2016
    • Martin Liska's avatar
      Add new *_atomic counter update function · a266236e
      Martin Liska authored
      	PR gcov-profile/58306
      	* Makefile.in: New functions (modules) are added.
      	* libgcov-profiler.c (__gcov_interval_profiler_atomic): New
      	function.
      	(__gcov_pow2_profiler_atomic): New function.
      	(__gcov_one_value_profiler_body): New argument is instroduced.
      	(__gcov_one_value_profiler): Call with the new argument.
      	(__gcov_one_value_profiler_atomic): Likewise.
      	(__gcov_indirect_call_profiler_v2): Likewise.
      	(__gcov_time_profiler_atomic): New function.
      	(__gcov_average_profiler_atomic): Likewise.
      	(__gcov_ior_profiler_atomic): Likewise.
      	* libgcov.h: Declare the aforementioned functions.
      	PR gcov-profile/58306
      	* gcc.dg/tree-prof/val-profiler-threads-1.c: New test.
      	PR gcov-profile/58306
      	* tree-profile.c (gimple_init_edge_profiler): Create conditionally
      	atomic variants of profile update functions.
      
      From-SVN: r239324
      a266236e
  28. Aug 09, 2016
    • Martin Liska's avatar
      Remove __gcov_indirect_call_profiler · 6dce6418
      Martin Liska authored
      	* Makefile.in: Remove __gcov_indirect_call_profiler.
      	* libgcov-profiler.c (__gcov_indirect_call_profiler): Remove
      	function.
      	* libgcov.h: And the declaration of the function.
      
      From-SVN: r239306
      6dce6418
  29. Jan 04, 2016
  30. Nov 07, 2015
    • Trevor Saunders's avatar
      replace BITS_PER_UNIT with __CHAR_BIT__ in target libs · a153644f
      Trevor Saunders authored
      libgcc/ChangeLog:
      
      2015-11-07  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* config/visium/lib2funcs.c (__set_trampoline_parity): Use
      	__CHAR_BIT__ instead of BITS_PER_UNIT.
      	* fixed-bit.h: Likewise.
      	* fp-bit.h: Likewise.
      	* libgcc2.c (__popcountSI2): Likewise.
      	(__popcountDI2): Likewise.
      	* libgcc2.h: Likewise.
      	* libgcov.h: Likewise.
      
      libobjc/ChangeLog:
      
      2015-11-07  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	PR libobjc/24775
      	* encoding.c (_darwin_rs6000_special_round_type_align): Use
      	__CHAR_BIT__ instead of BITS_PER_UNIT.
      	(objc_sizeof_type): Likewise.
      	(objc_layout_structure): Likewise.
      	(objc_layout_structure_next_member): Likewise.
      	(objc_layout_finish_structure): Likewise.
      	(objc_layout_structure_get_info): Likewise.
      
      From-SVN: r229936
      a153644f
  31. Jan 05, 2015
  32. Oct 07, 2014
    • Rong Xu's avatar
      Makefile.in: Fix dependence. · afe0c5ee
      Rong Xu authored
      2014-10-06  Rong Xu  <xur@google.com>
      
      	* gcc/Makefile.in: Fix dependence.
      	* gcc/gcov-counter.def (GCOV_COUNTER_ICALL_TOPNV): Add
              indirect call topn profiler.
      	* gcc/gcov-io.h: Ditto.
      	* libgcc/Makefile.in: Ditto.
      	* libgcc/libgcov-driver.c (gcov_sort_n_vals): New utility function.
      	(gcov_sort_icall_topn_counter): Ditto.
      	(gcov_sort_topn_counter_arrays): Ditto.
      	(dump_one_gcov): Sort indirect_call topn counters.
      	* libgcc/libgcov-merge.c (__gcov_merge_icall_topn): New merge
              function.
      	* libgcc/libgcov-profiler.c (__gcov_topn_value_profiler_body): New
              utility function.
      	(__gcov_indirect_call_topn_profiler): New profiler function.
      	* libgcc/libgcov-util.c (__gcov_icall_topn_counter_op): New.
      	* libgcc/libgcov.h: New decls.
      
      From-SVN: r215962
      afe0c5ee
  33. Sep 17, 2014
    • Nathan Sidwell's avatar
      Makefile.in (LIBGCOV_INTERFACE): Add _gcov_dump from ... · cadb2b96
      Nathan Sidwell authored
      	* Makefile.in (LIBGCOV_INTERFACE): Add _gcov_dump from ...
      	(LIBGCOV_DRIVER): ... here.
      	* libgcov-driver.c (gcov_master): New.
      	(gcov_exit): Remove from master chain.
      	(__gcov_init): Add to master chain if version compatible.  Don't
      	clear the version.
      	* libgcov_interface (__gcov_flust): Call gcov_dump_int.
      	(gcov_reset_int): Clear master chain, if compatible.
      	(gcov_dump_int): New internal interface.  Dump master chain, if
      	compatible.
      	(gcov_dump): Alias for gcov_dump_int.
      	* libgcov.h (struct gcov_root): Add next and prev fields.
      	(struct gcov_master): New struct.
      	(__gcov_master): New.
      	(gcov_dump_int): Declare.
      
      From-SVN: r215337
      cadb2b96
  34. Sep 03, 2014
    • Nathan Sidwell's avatar
      libgcov-interface.c (STRONG_ALIAS): New. · b20ee094
      Nathan Sidwell authored
      	* libgcov-interface.c (STRONG_ALIAS): New.
      	(__gcov_flush): Call __gcov_reset_int.
      	(__gcov_reset): Strong alias for ...
      	(__gcov_reset_ing): ... this renamed hidden version.
      	* libgcov.h (__gcov_reset_int): New declaration.
      
      From-SVN: r214840
      b20ee094
  35. Aug 07, 2014
    • Nathan Sidwell's avatar
      Makefile.in (LIBGCOV_INTERFACE): Move _gcov_dump ... · 4303c581
      Nathan Sidwell authored
      	* Makefile.in (LIBGCOV_INTERFACE): Move _gcov_dump ...
      	(LIBGCOV_DRIVER): ... to here.
      	* libgcov.h (gcov_do_dump): New #define.
      	(struct gcov_root): New.
      	(__gcov_root): New declaration.
      	(__gcov_dump_one): Declare.
      	* libgcov-driver.c (gcov_list, gcov_dump_complete,
      	run_accounted): Delete.
      	(gcov_compute_histogram): Add LIST argument, adjust.
      	(compute_summary): Adjust gcov_compute_histogram call.
      	(gcov_do_dump): Not hidden, static in libgcov.
      	(gcov_clear): Move  to interface.c.
      	(__gcov_dump_one): New, broken out of ...
      	(gcov_exit): ... here.  Make static.
      	(__gcov_root): New.
      	(__gcov_init): Adjust.
      	* libgcov-interface.c (gcov_clear, gcov_exit): Remove
      	declarations.
      	(__gcov_flush): Use __gcov_dump_one and __gcov_reset.
      	(gcov_clear): Moved from driver.c.   Add LIST argument.
      	(__gcov_reset): Adjust for changed interfaces.
      	(__gcov_fork): Remove local declaration of __gcov_flush_mx.
      
      From-SVN: r213719
      4303c581
  36. Jul 29, 2014
    • Nathan Sidwell's avatar
      libgcov.h: Move renaming of entry points to lib gcov specific portion. · 19926161
      Nathan Sidwell authored
      	libgcc/
      	* libgcov.h: Move renaming of entry points to lib gcov specific
      	portion.
      	(gcov_do_dump): New rename.
      	(gcov_rewrite): Remove inline, make HIDDEN.
      	* libgcov-driver.c (gcov_clear, gcov_exit): Remove declarations.
      	(gcov_exit_compute_summary): Rename to ...
      	(compute_summary): ... here.  Add LIST argument.
      	(gcov_exit_merge_gcda): Rename to ...
      	(merge_one_data): ... here.
      	(gcov_exit_write_gcda): Rename to ...
      	(write_one_data): ... here.
      	(gcov_exit_merge_summary): Rename to ...
      	(merge_summary): Add RUN_COUNTED argument.
      	(gcov_exit_dump_gcov): Rename to ...
      	(dump_one_gcov): Add RUN_COUNTED argument.
      	(gcov_do_dump): New function, broken out of ...
      	(gcov_exit): ... here.  Call it.
      
      	gcc/
      	* gcov-io.c (gcov_var): Make hidden.
      	* gcov-tool.c (gcov_list, gcov_exit): Remove declarations.
      	(gcov_do_dump): Declare.
      	(gcov_output_files): Call gcov_do_dump, not gcov_exit).
      
      From-SVN: r213188
      19926161
  37. Jul 23, 2014
    • Nathan Sidwell's avatar
      gcov-tool.c (gcov_list): Declare here. · d10ee722
      Nathan Sidwell authored
      	gcc/
      	* gcov-tool.c (gcov_list): Declare here.
      	(set_gcov_list): Remove.
      	(gcov_output_files): Set gcov_list directly.
      
      	libgcc/
      	* libgcov-driver.c (set_gcov_list): Remove.
      	(gcov_list): Make non-static in GCOV_TOOL.
      	* libgcov.h (GCOV_TOOL_LINKAGE): Remove unused #define.
      
      From-SVN: r212931
      d10ee722
Loading