1. 08 Mar, 2018 1 commit
  2. 03 Jan, 2018 1 commit
  3. 05 Jun, 2017 1 commit
    • invoke.texi: Document the -fprofile-abs-path option. · 676519f7
      2017-06-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * doc/invoke.texi: Document the -fprofile-abs-path option.
              * common.opt (fprofile-abs-path): New option.
              * gcov-io.h (gcov_write_filename): Declare.
              * gcov-io.c (gcov_write_filename): New function.
              * coverage.c (coverage_begin_function): Use gcov_write_filename.
              * profile.c (output_location): Likewise.
      
      gcc/testsuite:
      2017-06-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * gcc.misc-tests/gcov-1a.c: New test.
      
      From-SVN: r248894
      Bernd Edlinger committed
  4. 28 Apr, 2017 1 commit
  5. 01 Jan, 2017 1 commit
  6. 17 Aug, 2016 1 commit
  7. 10 Aug, 2016 1 commit
    • Cherry-pick fprofile-generate-atomic from google/gcc-4_9 · 22063dbc
      	Cherry picked (and modified) from google-4_7 branch
      	2012-12-26  Rong Xu  <xur@google.com>
      	* common.opt (fprofile-update): Add new flag.
      	* coretypes.h: Define enum profile_update.
      	* doc/invoke.texi: Document -fprofile-update.
      	* gcov-io.h: Declare GCOV_TYPE_ATOMIC_FETCH_ADD and
      	GCOV_TYPE_ATOMIC_FETCH_ADD_FN.
      	* tree-profile.c (gimple_init_edge_profiler): Generate
      	also atomic profiler update.
      	(gimple_gen_edge_profiler): Likewise.
      	* g++.dg/gcov/gcov-threads-1.C: New test.
      
      From-SVN: r239323
      Martin Liska committed
  8. 25 Jul, 2016 1 commit
  9. 04 Jan, 2016 1 commit
  10. 30 Jan, 2015 1 commit
    • Always pass explicit location to fatal_error. · 40fecdd6
      The patch <https://gcc.gnu.org/ml/gcc-patches/2014-11/msg00698.html>
      adding an overload for fatal_error that passes an explicit location
      broke gcc.pot regeneration because xgettext cannot handle function
      overloads with the diagnostic string argument in different positions.
      
      As the desired direction is for all diagnostics to have explicit
      locations, this patch addresses the regression by removing the version
      of fatal_error that does not pass a location, passing explicit
      input_location everywhere (in the hope that those will incrementally
      be changed to other locations, much as with the addition of a location
      argument to pedwarn some time ago - a lot of cases aren't meaningfully
      associated with a source file so UNKNOWN_LOCATION may be better).
      
      Note that this patch does not attempt to fix any existing issues with
      these diagnostics (such as wrongly starting with capital letters or
      ending with '.' or '\n'); it just adds the input_location argument.
      
      Bootstrapped with no regressions for x86_64-unknown-linux-gnu (Go
      excluded).
      
      gcc:
      	* diagnostic.c (fatal_error (const char *, ...)): Remove function.
      	* diagnostic-core.h (fatal_error (const char *, ...)): Remove
      	prototype.
      	* toplev.h (init_asm_output): Update comment on use of
      	UNKNOWN_LOCATION with fatal_error.
      	* cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
      	config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
      	config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
      	config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
      	config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
      	config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
      	config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
      	ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
      	lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
      	lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
      	tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
      	fatal_error changed to pass input_location as first argument.
      
      gcc/c-family:
      	* c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
      	to pass input_location as first argument.
      
      gcc/cp:
      	* class.c, except.c, parser.c, pt.c: All callers of fatal_error
      	changed to pass input_location as first argument.
      
      gcc/fortran:
      	* f95-lang.c, gfortranspec.c, trans-const.c, trans-expr.c: All
      	callers of fatal_error changed to pass input_location as first
      	argument.
      
      gcc/java:
      	* class.c, expr.c, jcf-parse.c, jvspec.c: All callers of
      	fatal_error changed to pass input_location as first argument.
      
      gcc/lto:
      	* lto-object.c, lto-symtab.c, lto.c: All callers of fatal_error
      	changed to pass input_location as first argument.
      
      libcc1:
      	* plugin.cc: All callers of fatal_error changed to pass
      	input_location as first argument.
      
      From-SVN: r220293
      Joseph Myers committed
  11. 05 Jan, 2015 1 commit
  12. 21 Oct, 2014 1 commit
    • Add AutoFDO. · be3c16c4
      gcc/ChangeLog:
      
      2014-10-21  Dehao Chen  <dehao@google.com>
      
      	* auto-profile.c: New file.
      	* auto-profile.h: New file.
      	* basic-block.h (maybe_hot_count_p): New export func.
      	(add_working_set): New export func.
      	* gcov-io.h (GCOV_TAG_AFDO_FILE_NAMES): New tag.
      	(GCOV_TAG_AFDO_FUNCTION): Likewise.
      	(GCOV_TAG_AFDO_WORKING_SET): Likewise.
      	* opts.c (enable_fdo_optimizations): New func.
      	(common_handle_option): Handle -fauto-profile flag.
      	* ipa-inline.c (want_early_inline_function_p): Iterative-einline.
      	(class pass_early_inline): Export early_inliner.
      	(early_inliner): Likewise.
      	(pass_early_inline::execute): Likewise.
      	* ipa-inline.h (early_inliner): Likewise.
      	* predict.c (maybe_hot_count_p): New export func.
      	(counts_to_freqs): AutoFDO logic.
      	(rebuild_frequencies): Likewise.
      	* tree-profile.c (pass_ipa_tree_profile::gate): Likewise.
      	* profile.c (add_working_set): New func.
      	* Makefile.in (auto-profile.o): New object file.
      	* passes.def (pass_ipa_auto_profile): New pass.
      	* tree-ssa-live.c (remove_unused_scope_block_p): AutoFDO logic.
      	* tree-pass.h (make_pass_ipa_auto_profile): New pass.
      	* toplev.c (compile_file): AutoFDO logic.
      	* doc/invoke.texi (-fauto-profile): New doc.
      	* coverage.c (coverage_init): AutoFDO logic.
      	* common.opt (-fauto-profile): New flag.
      	* timevar.def (TV_IPA_AUTOFDO): New tag.
      	* value-prof.c (gimple_alloc_histogram_value): New export func.
      	(check_ic_target): Likewise.
      	* value-prof.h (gimple_alloc_histogram_value): Likewise.
      	(check_ic_target): Likewise.
      
      From-SVN: r216523
      Dehao Chen committed
  13. 07 Oct, 2014 1 commit
    • Makefile.in: Fix dependence. · afe0c5ee
      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
      Rong Xu committed
  14. 11 Jul, 2014 1 commit
    • Add gcov-tool: an offline gcda profile processing tool Support. · c77556a5
      2014-07-10  Rong Xu  <xur@google.com>
      
      	Add gcov-tool: an offline gcda profile processing tool
      	Support.
      	* gcc/gcov-io.c (gcov_position): Make avaialble to gcov-tool.
      	(gcov_is_error): Ditto.
      	(gcov_read_string): Ditto.
      	(gcov_read_sync): Ditto.
      	* gcc/gcov-io.h: Move counter defines to gcov-counter.def.
      	* gcc/gcov-dump.c (tag_counters): Use gcov-counter.def.
      	* gcc/coverage.c: Ditto.
      	* gcc/gcov-tool.c: Offline gcda profile processing tool.
              (unlink_gcda_file): Remove one gcda file.
      	(unlink_profile_dir): Remove gcda files from the profile path.
      	(gcov_output_files): Output gcda files to an output dir.
      	(profile_merge): Merge two profiles in directory.
      	(print_merge_usage_message): Print merge usage.
      	(merge_usage): Print merge usage and exit.
      	(do_merge): Driver for profile merge sub-command.
      	(profile_rewrite): Rewrite profile.
      	(print_rewrite_usage_message): Print rewrite usage.
      	(rewrite_usage): Print rewrite usage and exit.
      	(do_rewrite): Driver for profile rewrite sub-command.
      	(print_usage): Print gcov-info usage and exit.
      	(print_version): Print gcov-info version.
      	(process_args): Process arguments.
      	(main): Main routine for gcov-tool.
      	* gcc/Makefile.in: Build and install gcov-tool.
      	* gcc/gcov-counter.def: New file split from gcov-io.h.
      	* libgcc/libgcov-driver.c (gcov_max_filename): Make available
              to gcov-tool.
      	* libgcc/libgcov-merge.c (__gcov_merge_add): Replace
              gcov_read_counter() with a Macro.
      	(__gcov_merge_ior): Ditto.
      	(__gcov_merge_time_profile): Ditto.
      	(__gcov_merge_single): Ditto.
      	(__gcov_merge_delta): Ditto.
      	* libgcc/libgcov-util.c (void gcov_set_verbose): Set the verbose flag
              in the utility functions.
      	(set_fn_ctrs): Utility function for reading gcda files to in-memory
              gcov_list object link lists.
      	(tag_function): Ditto.
      	(tag_blocks): Ditto.
      	(tag_arcs): Ditto.
      	(tag_lines): Ditto.
      	(tag_counters): Ditto.
      	(tag_summary): Ditto.
      	(read_gcda_finalize): Ditto.
      	(read_gcda_file): Ditto.
      	(ftw_read_file): Ditto.
      	(read_profile_dir_init): Ditto.
      	(gcov_read_profile_dir): Ditto.
      	(gcov_read_counter_mem): Ditto.
      	(gcov_get_merge_weight): Ditto.
      	(merge_wrapper): A wrapper function that calls merging handler.
      	(gcov_merge): Merge two gcov_info objects with weights.
      	(find_match_gcov_info): Find the matched gcov_info in the list.
      	(gcov_profile_merge): Merge two gcov_info object lists.
      	(__gcov_add_counter_op): Process edge profile counter values.
      	(__gcov_ior_counter_op): Process IOR profile counter values.
      	(__gcov_delta_counter_op): Process delta profile counter values.
      	(__gcov_single_counter_op): Process single  profile counter values.
      	(fp_scale): Callback function for float-point scaling.
      	(int_scale): Callback function for integer fraction scaling. 
      	(gcov_profile_scale): Scaling profile counters.
      	(gcov_profile_normalize): Normalize profile counters.
      	* libgcc/libgcov.h: Add headers and functions for gcov-tool use.
              (gcov_get_counter): New.
              (gcov_get_counter_target): Ditto.
              (struct gcov_info): Make the functions field mutable in gcov-tool
              compilation.
      	* gcc/doc/gcc.texi: Include gcov-tool.texi.
      	* gcc/doc/gcov-tool.texi: Document for gcov-tool.
      
      From-SVN: r212448
      Rong Xu committed
  15. 26 May, 2014 1 commit
    • system.h: Define __STDC_FORMAT_MACROS before including inttypes.h. · a9243bfc
      2014-05-23  Richard Biener  <rguenther@suse.de>
      
      	* system.h: Define __STDC_FORMAT_MACROS before
      	including inttypes.h.
      	* hwint.h (HOST_WIDEST_INT, HOST_BITS_PER_WIDEST_INT,
      	HOST_WIDEST_INT_PRINT, HOST_WIDEST_INT_PRINT_DEC,
      	HOST_WIDEST_INT_PRINT_DEC_C, HOST_WIDEST_INT_PRINT_UNSIGNED,
      	HOST_WIDEST_INT_PRINT_HEX, HOST_WIDEST_INT_PRINT_DOUBLE_HEX,
      	HOST_WIDEST_INT_C): Remove.
      	(PRId64, PRIi64, PRIo64, PRIu64, PRIx64, PRIX64): Define
      	if C99 inttypes.h is not available.
      
      	* coretypes.h (gcov_type, gcov_type_unsigned): Use [u]int64_t.
      	* gcov-io.h (gcov_type, gcov_type_unsigned): Likewise.
      	* gcov-io.c (gcov_histo_index): Drop non-64bit hwi case.
      	* cfgloop.h (struct niter_desc): Use uint64_t for niter field.
      	* bitmap.c (struct bitmap_descriptor_d): Use uint64_t for counters.
      	(struct output_info): Likewise.
      	(print_statistics): Adjust.
      	(dump_bitmap_statistics): Likewise.
      	* bt-load.c (migrate_btr_defs): Print with PRId64.
      	* cfg.c (dump_edge_info, dump_bb_info): Likewise.
      	(MAX_SAFE_MULTIPLIER): Adjust.
      	* cfghooks.c (dump_bb_for_graph): Print with PRId64.
      	* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee,
      	dump_cgraph_node): Likewise.
      	* final.c (dump_basic_block_info): Likewise.
      	* gcov-dump.c (tag_counters, tag_summary, dump_working_sets): Likewise.
      	* gcov.c (format_gcov): Likewise.
      	* ipa-cp.c (good_cloning_opportunity_p): Likewise.  Use int64_t
      	for calculation.
      	(get_clone_agg_value): Use HOST_WIDE_INT for offset.
      	* ipa-inline.c (compute_max_insns): Use int64_t for calcuation.
      	(inline_small_functions, dump_overall_stats, dump_inline_stats):
      	Use PRId64 for dumping.
      	* ipa-profile.c (dump_histogram, ipa_profile): Likewise.
      	* ira-color.c (struct allocno_hard_regs): Use int64_t for cost.
      	(add_allocno_hard_regs): Adjust.
      	* loop-doloop.c (doloop_modify): Print using PRId64.
      	* loop-iv.c (inverse): Compute in uint64_t.
      	(determine_max_iter, iv_number_of_iterations): Likewise.
      	* loop-unroll.c (decide_peel_completely, decide_peel_simple):
      	Print using PRId64.
      	* lto-streamer-out.c (write_symbol): Use uint64_t.
      	* mcf.c (CAP_INFINITY): Use int64_t maximum.
      	(dump_fixup_edge, create_fixup_graph, cancel_negative_cycle,
      	find_max_flow, adjust_cfg_counts): Use int64_t and dump with PRId64.
      	* modulo-sched.c (const_iteration_count): Use int64_t.
      	(sms_schedule): Dump using PRId64.
      	* predict.c (dump_prediction): Likewise.
      	* pretty-print.h (pp_widest_integer): Remove.
      	* profile.c (get_working_sets, is_edge_inconsistent,
      	is_inconsistent, read_profile_edge_counts): Dump using PRId64.
      	* tree-pretty-print.c (pp_double_int): Remove case handling
      	HOST_BITS_PER_DOUBLE_INT == HOST_BITS_PER_WIDEST_INT.
      	* tree-ssa-math-opts.c (struct symbolic_number): Use uint64_t
      	and adjust users.
      	(pass_optimize_bswap::execute): Remove restriction on hosts.
      	* tree-streamer-in.c (streamer_alloc_tree): Use HOST_WIDE_INT.
      	* tree-streamer-out.c (streamer_write_tree_header): Likewise.
      	* tree.c (widest_int_cst_value): Remove.
      	* tree.h (widest_int_cst_value): Likewise.
      	* value-prof.c (dump_histogram_value): Print using PRId64.
      	* gengtype.c (main): Also inject int64_t.
      	* ggc-page.c (struct max_alignment): Use int64_t.
      	* alloc-pool.c (struct allocation_object_def): Likewise.
      	* ira-conflicts.c (build_conflict_bit_table): Use uint64_t
      	for computation.
      	* doc/tm.texi.in: Remove reference to HOST_WIDEST_INT.
      	* doc/tm.texi: Regenerated.
      	* gengtype-lex.l (IWORD): Handle [u]int64_t.
      	* config/sh/sh.c (expand_cbranchdi4): Use gcov_type.
      	* config/mmix/mmix-protos.h (mmix_intval, mmix_shiftable_wyde_value,
      	mmix_output_register_setting): Use [u]int64_t in prototypes.
      	* config/mmix/mmix.c (mmix_print_operand, mmix_output_register_setting,
      	mmix_shiftable_wyde_value, mmix_output_shiftvalue_op_from_str,
      	mmix_output_octa, mmix_output_shifted_value): Adjust.
      	(mmix_intval): Adjust.  Remove unreachable case.
      	* config/mmix/mmix.md (*nonlocal_goto_receiver_expanded): Use
      	int64_t.
      
      	lto/
      	* lto.c (lto_parse_hex): Use int64_t.
      	(lto_resolution_read): Likewise.
      
      From-SVN: r210931
      Richard Biener committed
  16. 22 May, 2014 1 commit
    • gcov-io.c (gcov_position): Use gcov_nonruntime_assert. · e3f0315f
      2014-05-22  Teresa Johnson  <tejohnson@google.com>
      
      	* gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
      	(gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
      	(gcov_rewrite): Use gcov_nonruntime_assert.
      	(gcov_open): Ditto.
      	(gcov_write_words): Ditto.
      	(gcov_write_length): Ditto.
      	(gcov_read_words): Use gcov_nonruntime_assert, and remove
      	gcc_assert from IN_LIBGCOV code.
      	(gcov_read_summary): Use gcov_error to flag profile corruption.
      	(gcov_sync): Use gcov_nonruntime_assert.
      	(gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
      	(gcov_histo_index): Use gcov_nonruntime_assert.
      	(static void gcov_histogram_merge): Ditto.
      	(compute_working_sets): Ditto.
      	* gcov-io.h (gcov_nonruntime_assert): Define.
      	(gcov_error): Define for !IN_LIBGCOV
      
      
      	* libgcov-driver.c (gcov_error): Move declaration before gcov-io.c
      	include.
      
      From-SVN: r210805
      Teresa Johnson committed
  17. 08 Jan, 2014 1 commit
    • gcov-io.c (gcov_var): Move from gcov-io.h. · 40d6b753
      2014-01-08  Rong Xu  <xur@google.com> 
      
      	* gcc/gcov-io.c (gcov_var): Move from gcov-io.h.
      	(gcov_position): Ditto.
      	(gcov_is_error): Ditto.
      	(gcov_rewrite): Ditto.
      	* gcc/gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
      	only part to libgcc/libgcov.h.
      	* libgcc/libgcov-driver.c: Use libgcov.h.
      	(buffer_fn_data): Use xmalloc instead of malloc.
      	(gcov_exit_merge_gcda): Ditto.
      	* libgcc/libgcov-driver-system.c (allocate_filename_struct): Ditto.
      	* libgcc/libgcov.h: New common header files for libgcov-*.h.
      	* libgcc/libgcov-interface.c: Use libgcov.h
      	* libgcc/libgcov-merge.c: Ditto.
      	* libgcc/libgcov-profiler.c: Ditto.
      	* libgcc/Makefile.in: Add dependence to libgcov.h
      
      From-SVN: r206435
      Rong Xu committed
  18. 02 Jan, 2014 1 commit
  19. 10 Dec, 2013 2 commits
    • Put back typedef for gcov_working_set_t/gcov_bucket_type · 892f2924
      	* basic-block.h (gcov_working_set_t): Put back typedef. 
      	* gcov-io.h (gcov_bucket_type): Likewise.
      	(gcov_working_set_info, gcov_working_set_t): Likewise.
      
      From-SVN: r205866
      H.J. Lu committed
    • cgraph.h (cgraph_node_set_iterator, [...]): Remove typedef. · 84562394
      	* gcc/cgraph.h (cgraph_node_set_iterator, varpool_node_set_iterator):
      	Remove typedef.
      	(cgraph_inline_failed_enum, cgraph_inline_failed_t): Remove typedef and
      	rename to cgraph_inline_failed_t.
      	* gcc/tree-ssa-alias.h (ao_ref_s, ao_ref): Remove typedef and rename
      	to ao_ref.
      	* gcc/reload.h (reg_equivs_s, reg_equivs_t): Remove typedef and rename
      	to reg_equivs_t.
      	* gcc/conditions.h (CC_STATUS): Remove typedef.
      	* gcc/bitmap.h (bitmap_obstack): Remove typedef.
      	(bitmap_element_def, bitmap_element): Remove typedef and rename to
      	bitmap_element.
      	(bitmap_head_def, bitmap_head): Remove typedef and rename to
      	bitmap_head.
      	(bitmap_iterator): Remove typedef.
      	* gcc/target.h (cumulative_args_t, print_switch_type,
      	secondary_reload_info): Remove typedef.
      	* gcc/dwarf2out.h (dw_cfi_oprnd_struct, dw_cfi_oprnd): Remove
      	dw_cfi_oprnd_struct alias.
      	(dw_cfi_struct, dw_cfi_node): Remove typedef and rename to dw_cfi_node.
      	(dw_fde_struct, dw_fde_node): Remove typedef and rename to dw_fde_node.
      	(cfa_loc, dw_cfa_location): Remove typedef and rename to
      	dw_cfa_location.
      	(dw_vec_struct, dw_vec_const): Remove typedef and rename to
      	dw_vec_const.
      	(dw_val_struct, dw_val_node): Remove typedef and rename to dw_val_node.
      	(dw_loc_descr_struct, dw_loc_descr_node): Remove typedef and rename to
      	dw_loc_descr_node.
      	* gcc/params.h (param_info, compiler_param): Remove typedef.
      	* gcc/opts.h (cl_deferred_param): Remove typedef.
      	* gcc/sreal.h (sreal): Remove typedef.
      	* gcc/ddg.h (dep_type, dep_data_type): Remove typedef.
      	* gcc/graphite-clast-to-gimple.h (cloog_prog_clast, bb_pbb_def): Remove
      	typedef.
      	* gcc/lto-streamer.h (lto_decl_stream_e_t, lto_encoder_entry,
      	lto_symtab_encoder_iterator, res_pair): Remove typedef.
      	* gcc/tree-affine.h (affine_tree_combination, aff_tree): Remove typedef
      	and rename to aff_tree.
      	* gcc/sched-int.h (region): Remove typedef.
      	* gcc/diagnostic.h (diagnostic_info,
      	diagnostic_classification_change_t): Remove typedef.
      	* gcc/tree-ssa-loop.h (affine_iv_d): Remove typedef and rename to
      	affine_iv.
      	* gcc/sbitmap.h (sbitmap_iterator): Remove typedef.
      	* gcc/ssa-iterators.h (immediate_use_iterator_d, imm_use_iterator):
      	Remove typedef and rename to imm_use_iterator.
      	(ssa_operand_iterator_d, ssa_op_iter): Remove typedef and rename to
      	ssa_op_iter.
      	* gcc/ggc-internal.h (ggc_statistics): Remove typedef.
      	* gcc/cselib.h (cselib_val_struct, cselib_val): Remove typedef and
      	rename to cselib_val.
      	* gcc/tree-core.h (alias_pair): Remove typedef.
      	(constructor_elt_d, constructor_elt): Remove typedef and rename to
      	constructor_elt.
      	(ssa_use_operand_d, ssa_use_operand_t): Remove typedef and rename to
      	ssa_use_operand_t.
      	* gcc/graphite-sese-to-poly.h (base_alias_pair): Remove typedef.
      	* gcc/tree-data-ref.h (conflict_function): Remove typedef.
      	* gcc/tree-inline.h (copy_body_data): Remove typedef.
      	* gcc/ipa-inline.h (condition, size_time_entry, inline_param_summary_t,
      	edge_growth_cache_entry): Remove typedef.
      	* gcc/regrename.h (operand_rr_info, insn_rr_info): Remove typedef.
      	* gcc/gimple-iterator.h (gimple_stmt_iterator_d, gimple_stmt_iterator):
      	Remove typedef and rename to gimple_stmt_iterator.
      	* gcc/basic-block.h (ce_if_block, ce_if_block_t): Remove typedef and
      	rename to ce_if_block.
      	(edge_iterator): Remove typedef.
      	* gcc/ipa-prop.h (ipa_agg_jf_item, ipa_agg_jf_item_t): Remove typedef
      	and rename to ipa_agg_jf_item.
      	(ipa_agg_jump_function_t, ipa_param_descriptor_t, ipa_node_params_t,
      	ipa_parm_adjustment_t): Remove typedef.
      	(ipa_jump_func, ipa_jump_func_t): Remove typedef and rename to
      	ipa_jump_func.
      	(ipa_edge_args, ipa_edge_args_t): Remove typedef and rename to
      	ipa_edge_args.
      	* gcc/gcov-io.h (gcov_bucket_type): Remove typedef.
      	(gcov_working_set_info, gcov_working_set_t): Remove typedef and rename
      	to gcov_working_set_t.
      	* gcc/ira-int.h (minmax_set_iterator, ira_allocno_iterator,
      	ira_object_iterator, ira_allocno_object_iterator, ira_pref_iterator,
      	ira_copy_iterator, ira_object_conflict_iterator): Remove typedef.
      	* gcc/tree-iterator.h (tree_stmt_iterator): Remove typedef.
      	* gcc/rtl.h (addr_diff_vec_flags, mem_attrs, reg_attrs,
      	replace_label_data): Remove typedef.
      	(rtunion_def, rtunion): Remove typedef and rename to rtunion.
      	* gcc/hard-reg-set.h (hard_reg_set_iterator): Remove typedef.
      	* gcc/sel-sched-ir.h (_list_iterator, sel_global_bb_info_def,
      	sel_region_bb_info_def, succ_iterator): Remove typedef.
      	(deps_where_def, deps_where_t): Remove typedef and rename to
      	deps_where_t.
      	* gcc/coretypes.h: Adapt forward declarations.
      	* gcc/tree-scalar-evolution.h: Likewise.
      	* gcc/tree-ssa-address.h: Likewise.
      	* gcc/tree-ssa-operands.h: Likewise.
      	* gcc/function.h: Likewise.
      	* gcc/config/frv/frv-protos.h: Likewise.
      	* gcc/targhooks.h: Likewise.
      	* gcc/basic_block.h: Likewise.
      	* gcc/rtl.def: Adapt documentation.
      	* gcc/doc/tm.texi: Likewise.
      	* gcc/ipa-cp.c: Adapt uses.
      	* gcc/bitmap.c: Likewise.
      	* gcc/dwarf2out.c: Likewise.
      	* gcc/target.def: Likewise.
      	* gcc/ipa-inline-analysis.c: Likewise.
      	* gcc/dwarf2cfi.c: Likewise.
      	* gcc/tree-ssa-loop-ivopts.c: Likewise.
      	* gcc/lto-cgraph.c: Likewise.
      	* gcc/config/frv/frv.c: Likewise.
      	* gcc/ifcvt.c: Likewise.
      	* gcc/ipa-prop.c: Likewise.
      
      From-SVN: r205863
      Oleg Endo committed
  20. 13 Nov, 2013 1 commit
    • The patch re-factors libgcov.c to make it better modulelized. · d6d3f033
      2013-11-12  Rong Xu  <xur@google.com>
      
      The patch re-factors libgcov.c to make it better modulelized.
      It contains two pieces of work:
      1. break gcov_exit() into the following structure:
         gcov_exit()
            --> gcov_exit_compute_summary()
            --> allocate_filename_struct()
                for gi_ptr in gcov_list
                  --> gcov_exit_dump_gcov()
                         --> gcov_exit_open_gcda_file()
                         --> gcov_exit_merge_gcda ()
                         --> gcov_exit_merge_summary ()
                         --> gcov_exit_write_gcda ()
      2. split libgcov.c into the following files:
           libgcov-profiler.c
           libgcov-merge.c
           libgcov-interface.c
           libgcov-driver.c
             libgcov-driver-system.c (source included into libgcov-driver.c)
      
      	* libgcc/libgcov.c: Delete as part of re-factoring.
      	* gcc/gcov-io.h (__gcov_indirect_call_profiler): Add the decl to
              avoid warning.
      	* libgcc/libgcov-interface.c (init_mx): Moved from libgcov.c.
      	(init_mx_once): Ditto.
      	(__gcov_flush): Ditto.
      	(__gcov_reset): Ditto.
      	(__gcov_dump): Ditto.
      	(__gcov_fork): Ditto.
      	(__gcov_execl): Ditto.
      	(__gcov_execlp): Ditto.
      	(__gcov_execle): Ditto.
      	(__gcov_execv): Ditto.
      	(__gcov_execvp): Ditto.
      	(__gcov_execve): Ditto.
              * libgcc/libgcov-merge.c (__gcov_merge_time_profile): Moved from
              libgcov.c.
      	(__gcov_merge_add): Ditto.
      	(__gcov_merge_ior): Ditto.
      	(__gcov_merge_single): Ditto.
      	(__gcov_merge_delta): Ditto.
      	* libgcc/libgcov-profiler.c 
      	(__gcov_interval_profiler): Ditto.
      	(__gcov_pow2_profiler): Ditto.
      	(__gcov_one_value_profiler_body): Ditto.
      	(__gcov_one_value_profiler): Ditto.
      	(__gcov_indirect_call_profiler): Ditto.
      	(__gcov_indirect_call_profiler_v2): Ditto.
      	(__gcov_time_profiler): Ditto.
      	(__gcov_average_profiler): Ditto.
      	(__gcov_ior_profiler): Ditto.
      	* libgcc/libgcov-driver.c (set_gcov_list): New.
      	(get_gcov_dump_complete): Ditto.
      	(set_gcov_dump_complete):Ditto.
      	(reset_gcov_dump_complete):Ditto.
      	(gcov_exit_compute_summary): New function split from gcov_exit().
      	(gcov_exit_merge_gcda): Ditto.
      	(gcov_exit_write_gcda): Ditto.
      	(gcov_exit_merge_summary): Ditto.
      	(gcov_exit_dump_gcov): Ditto.
      	(struct gcov_fn_buffer): Moved from libgcov.c
      	(struct gcov_summary_buffer): Ditto.
      	(free_fn_data): Ditto.
      	(buffer_fn_data): Ditto.
      	(crc32_unsigned): Ditto.
      	(gcov_version): Ditto.
      	(gcov_histogram_insert): Ditto.
      	(gcov_compute_histogram): Ditto.
      	(gcov_exit): Ditto.
      	(gcov_clear): Ditto.
      	(__gcov_init): Ditto.
              (this_prg): Make it file scope static variable.
              (all_prg): Ditto.
              (crc32): Ditto.
              (gi_filename): Ditto.
              (fn_buffer): Ditto.
              (sum_buffer): Ditto.
              (struct gcov_filename_aux): New types to store auxiliary information
              for gi_filename.
      	* libgcc/libgcov-driver-system.c (gcov_error): New utility function.
      	(allocate_filename_struct): New function split from gcov_exit().
      	(gcov_exit_open_gcda_file): Ditto.
      	(create_file_directory): Moved from libgcov.c
      	* libgcc/Makefile.in: Change to build newly added files.
      
      From-SVN: r204730
      Rong Xu committed
  21. 11 Nov, 2013 1 commit
  22. 28 Sep, 2013 1 commit
    • alloc-pool.c, [...]: Add missing whitespace before "(". · c3284718
      gcc/
      	* alloc-pool.c, asan.c, auto-inc-dec.c, basic-block.h, bb-reorder.c,
      	bitmap.c, bitmap.h, bt-load.c, builtins.c, calls.c, cfgcleanup.c,
      	cfgexpand.c, cfghooks.c, cfgloop.c, cfgloopmanip.c, cfgrtl.c, cgraph.c,
      	cgraph.h, cgraphbuild.c, cgraphclones.c, cgraphunit.c, collect2.c,
      	combine-stack-adj.c, combine.c, compare-elim.c, context.c, context.h,
      	cprop.c, cse.c, cselib.c, dbxout.c, dce.c, defaults.h, df-core.c,
      	df-problems.c, df-scan.c, df.h, diagnostic.c, double-int.c, dse.c,
      	dumpfile.c, dwarf2asm.c, dwarf2cfi.c, dwarf2out.c, emit-rtl.c,
      	errors.c, except.c, expmed.c, expr.c, file-find.c, final.c,
      	fixed-value.c, fold-const.c, function.c, fwprop.c, gcc-ar.c, gcc.c,
      	gcov-io.c, gcov-io.h, gcov.c, gcse.c, genattr-common.c, genattr.c,
      	genattrtab.c, genautomata.c, genconfig.c, genemit.c, genextract.c,
      	genflags.c, gengenrtl.c, gengtype-state.c, gengtype.c, genmodes.c,
      	genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
      	gensupport.c, ggc-common.c, ggc-page.c, gimple-fold.c, gimple-low.c,
      	gimple-pretty-print.c, gimple-ssa-strength-reduction.c, gimple.c,
      	gimple.h, godump.c, graphite-clast-to-gimple.c,
      	graphite-optimize-isl.c, graphite-poly.h, graphite-sese-to-poly.c,
      	graphite.c, haifa-sched.c, hash-table.c, hash-table.h, hwint.c,
      	hwint.h, ifcvt.c, incpath.c, init-regs.c, input.h, intl.c, intl.h,
      	ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
      	ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c,
      	ipa-utils.c, ipa.c, ira-build.c, ira.c, jump.c, loop-doloop.c,
      	loop-init.c, loop-invariant.c, loop-iv.c, lower-subreg.c, lto-cgraph.c,
      	lto-streamer-in.c, lto-streamer-out.c, lto-wrapper.c, mcf.c,
      	mode-switching.c, modulo-sched.c, omp-low.c, optabs.c, opts.c,
      	pass_manager.h, passes.c, plugin.c, postreload-gcse.c, postreload.c,
      	predict.c, prefix.c, pretty-print.c, print-rtl.c, print-tree.c,
      	profile.c, read-md.c, real.c, real.h, recog.c, ree.c, reg-stack.c,
      	regcprop.c, reginfo.c, regmove.c, regrename.c, regs.h, regstat.c,
      	reload1.c, reorg.c, rtl.c, rtl.h, rtlanal.c, sbitmap.c, sched-rgn.c,
      	sdbout.c, sel-sched-ir.c, sel-sched.c, sparseset.c, stack-ptr-mod.c,
      	statistics.c, stmt.c, stor-layout.c, store-motion.c, streamer-hooks.h,
      	system.h, target-hooks-macros.h, targhooks.c, targhooks.h, toplev.c,
      	tracer.c, trans-mem.c, tree-browser.c, tree-call-cdce.c, tree-cfg.c,
      	tree-cfgcleanup.c, tree-complex.c, tree-data-ref.c, tree-data-ref.h,
      	tree-eh.c, tree-emutls.c, tree-flow.h, tree-if-conv.c, tree-into-ssa.c,
      	tree-iterator.c, tree-loop-distribution.c, tree-mudflap.c,
      	tree-nested.c, tree-nomudflap.c, tree-nrv.c, tree-object-size.c,
      	tree-optimize.c, tree-pass.h, tree-pretty-print.c, tree-profile.c,
      	tree-scalar-evolution.c, tree-sra.c, tree-ssa-ccp.c,
      	tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
      	tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
      	tree-ssa-ifcombine.c, tree-ssa-live.c, tree-ssa-loop-ch.c,
      	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
      	tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
      	tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
      	tree-ssa-structalias.c, tree-ssa-threadedge.c, tree-ssa-threadupdate.c,
      	tree-ssa-uncprop.c, tree-ssa-uninit.c, tree-ssa.c, tree-ssanames.c,
      	tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
      	tree-vect-data-refs.c, tree-vect-generic.c, tree-vect-loop-manip.c,
      	tree-vect-stmts.c, tree-vectorizer.c, tree-vectorizer.h, tree-vrp.c,
      	tree.c, tree.h, tsan.c, tsystem.h, value-prof.c, var-tracking.c,
      	varasm.c, vec.h, vmsdbgout.c, vtable-verify.c, web.c: Add missing
      	whitespace before "(".
      
      From-SVN: r203004
      Richard Sandiford committed
  23. 09 Aug, 2013 1 commit
    • cgraph.h (cgraph_node): Add profile_id. · 2fa3d31b
      	* cgraph.h (cgraph_node): Add profile_id.
      	* value-prof.c (cgraph_node_map): Turn into pointer_map.
      	(init_node_map): Rewrite to handle hashes increas of incremental
      	IDs.
      	(del_node_map): Update.
      	(find_func_by_funcdef_no): Replace by ...
      	(find_func_by_profile_id): ... this one.
      	(gimple_ic_transform): Do not remove useful histograms when
      	speculation is not done; dump info when indirect call removal
      	can happen at LTO.
      	* value-prof.h (find_func_by_profile_id, gimple_ic): Declare.
      	* gcov-io.h (__gcov_indirect_call_profiler): Replace by ...
      	(__gcov_indirect_call_profiler_v2): .. this one.
      	* profile.h (init_node_map): Update.
      	* coverage.c (coverage_compute_profile_id): New function.
      	* coverage.h (coverage_compute_profile_id): Declare.
      	* tree-profile.c (init_ic_make_global_vars): Make
      	__gcov_indirect_call_callee and  __gcov_indirect_call_counters global.
      	(gimple_init_edge_profiler): Update prototype of
      	__gcov_indirect_call_profiler.
      	(gimple_gen_ic_func_profiler): Simplify.
      	(tree_profiling): Use init_node_map
      
      From-SVN: r201634
      Jan Hubicka committed
  24. 03 Apr, 2013 1 commit
    • This patch enables the gcov-dump tool to optionally compute and dump the working… · f57ddb5b
      This patch enables the gcov-dump tool to optionally compute and dump the working set information from the counter histogram...
      
      This patch enables the gcov-dump tool to optionally compute and dump
      the working set information from the counter histogram, via a new -w option.
      This is useful to help understand and tune how the compiler will use
      the counter histogram, since it first computes the working set and selects
      thresholds based on that.
      
      This required moving the bulk of the compute_working_sets functionality
      into gcov-io.c so that it was accessible by gcov-dump.c.
      
      2013-04-03  Teresa Johnson  <tejohnson@google.com>
      
      	* gcov-io.c (compute_working_sets): Moved most of body of old
              compute_working_sets here from profile.c.
      	* gcov-io.h (NUM_GCOV_WORKING_SETS): Moved here from profile.c.
              (gcov_working_set_t): Moved typedef here from basic-block.h
              (compute_working_set): Declare.
      	* profile.c (NUM_GCOV_WORKING_SETS): Moved to gcov-io.h.
      	(get_working_sets): Renamed from compute_working_set,
              replace most of body with call to new compute_working_sets.
      	(get_exec_counts): Replace call to compute_working_sets
              to get_working_sets.
      	* profile.h (get_working_sets): Renamed from
              compute_working_set.
      	* lto-cgraph.c (input_symtab): Replace call to compute_working_sets
              to get_working_sets.
      	* basic-block.h (gcov_working_set_t): Moved to gcov-io.h.
      	* gcov-dump.c (dump_working_sets): New function.
      
      From-SVN: r197457
      Teresa Johnson committed
  25. 10 Jan, 2013 1 commit
  26. 04 Jan, 2013 1 commit
  27. 30 Nov, 2012 1 commit
    • Revised patch to ensure that histograms from the profile summary are streamed... · 2730ada7
      Revised patch to ensure that histograms from the profile summary are streamed
      through the LTO files so that the working set can be computed for use in
      downstream optimizations.
      
      2012-11-30  Teresa Johnson  <tejohnson@google.com>
      
      	* lto-cgraph.c (output_profile_summary): Stream out sum_all
      	and histogram.
      	(input_profile_summary): Stream in sum_all and histogram.
      	(merge_profile_summaries): Merge sum_all and histogram, and
      	change to use RDIV.
      	(input_symtab): Call compute_working_sets after merging
      	summaries.
      	* gcov-io.c (gcov_histo_index): Make extern for compiler.
      	* gcov-io.h (gcov_histo_index): Ditto.
      	* profile.c (compute_working_sets): Remove static keyword.
      	* profile.h (compute_working_sets): Ditto.
      	* Makefile.in (lto-cgraph.o): Depend on profile.h.
      
      From-SVN: r193999
      Teresa Johnson committed
  28. 04 Sep, 2012 1 commit
    • Enhances the gcov program summary by adding a histogram of arc counter entries. · 9f71de84
      Enhances the gcov program summary by adding a histogram of arc counter
      entries. This is used to compute working set information in the compiler
      for use by optimizations that need information on hot vs cold counter
      values or the rough working set size in terms of the number of counters.
      Each working set data point is the minimum counter value and number of
      counters required to reach a given percentage of the cumulative counter
      sum across the profiled execution (sum_all in the program summary).
      
      2012-09-04  Teresa Johnson  <tejohnson@google.com>
      
      	* libgcc/libgcov.c (struct gcov_summary_buffer): New structure.
      	(gcov_histogram_insert): New function.
      	(gcov_compute_histogram): Ditto.
      	(gcov_exit): Invoke gcov_compute_histogram, and perform merging of
      	histograms during summary merging.
      	* gcc/gcov-io.c (gcov_write_summary): Write out non-zero histogram
      	entries to function summary along with an occupancy bit vector.
      	(gcov_read_summary): Read in the histogram entries.
      	(gcov_histo_index): New function.
      	(void gcov_histogram_merge): Ditto.
      	* gcc/gcov-io.h (gcov_type_unsigned): New type.
      	(struct gcov_bucket_type): Ditto.
      	(struct gcov_ctr_summary): Include histogram.
      	(GCOV_TAG_SUMMARY_LENGTH): Update to include histogram entries.
      	(GCOV_HISTOGRAM_SIZE): New macro.
      	(GCOV_HISTOGRAM_BITVECTOR_SIZE): Ditto.
      	* gcc/profile.c (NUM_GCOV_WORKING_SETS): Ditto.
      	(gcov_working_sets): New global variable.
      	(compute_working_sets): New function.
      	(find_working_set): Ditto.
      	(get_exec_counts): Invoke compute_working_sets.
      	* gcc/coverage.c (read_counts_file): Merge histograms, and
      	fix bug with accessing summary info for non-summable counters.
      	* gcc/basic-block.h (gcov_type_unsigned): New type.
      	(struct gcov_working_set_info): Ditto.
      	(find_working_set): Declare.
      	* gcc/gcov-dump.c (tag_summary): Dump out histogram.
      
      From-SVN: r190952
      Teresa Johnson committed
  29. 23 Jul, 2012 1 commit
    • coverage.c: Refer to "notes file" instead of "graph file" in all comments. · efbb59b2
      gcc/
      	* coverage.c: Refer to "notes file" instead of "graph file"
      	in all comments.  Explain history of bbg prefix.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	(find_source): Likewise in fnotice.
      	(read_graph_file): Likewise.
      	(read_count_file): Likewise.
      	* doc/gcov.texi: Document -fprofile-dir flag.  Add "notes file"
      	and "data file" explicitly in the explanation of the files.
      
      libgcc/
      	* libgcov.c (__gcov_ior_profiler): Benign comment fix.
      
      From-SVN: r189781
      Steven Bosscher committed
  30. 08 May, 2012 1 commit
    • This patch adds functionality to libgcov to enable user applications to collect... · 4e8ee9cb
      This patch adds functionality to libgcov to enable user applications to
      collect profile data only in regions of interest. This is useful, for
      example, to collect profile data from a long-running server only
      during the time when it is serving requests.
      
      Specifically, the new routines __gcov_reset will clear all profile counters
      to zero and __gcov_dump will write out the profile information collected so
      far. A global variable is used to prevent writing out the profile a
      second time during exit.
      
      2012-05-08   Teresa Johnson  <tejohnson@google.com>
      
      	* libgcc/libgcov.c (gcov_clear, __gcov_reset): New functions.
      	(__gcov_dump): Ditto.
      	(gcov_dump_complete): New global variable.
      	(gcov_exit): Export hidden to enable use in L_gcov_dump.
      	(__gcov_flush): Outline functionality now in gcov_clear.
      	* libgcc/Makefile.in (L_gcov_reset, L_gcov_dump): Define.
      	* gcc/gcov-io.h (__gcov_reset, __gcov_dump): Declare.
      	* gcc/doc/gcov.texi: Add note on using __gcov_reset and __gcov_dump.
      
      From-SVN: r187297
      Teresa Johnson committed
  31. 04 Dec, 2011 1 commit
    • gcov-io.h (struct gcov_info): Replace trailing array with pointer to array. · b724567e
      	* gcov-io.h (struct gcov_info): Replace trailing array with
      	pointer to array.
      	* profile.c (branch_prob): Only call renamed
      	coverage_begin_function once.
      	* coverage.h (coverage_begin_output): Rename to ...
      	(coverage_begin_function): ... here.
      	* coverage.c (struct function_list): Rename to ...
      	(struct coverage_data): ... this.  Update all uses.
      	(gcov_info_var, gcov_fn_info_type, gcov_fn_info_ptr_type): New
      	globals.
      	(bbg_file_opened, bbg_function_announced): Remove.
      	(get_coverage_counts): Adjust message.
      	(coverage_begin_ouput): Rename to ...
      	(coverage_begin_function): ... here.  Move file opening to
      	coverage_init.  Adjust for being called only once.
      	(coverage_end_function): Remove bbg file and inhibit further
      	output here on error.
      	(build_info_type): Adjust for change to pointer to array.
      	(build_info): Receive array of function pointers and adjust.
      	(create_coverage): Break into ...
      	(coverage_obj_init, coverage_obj_fn, coverage_obj_finish):
      	... these, and adjust.
      	(coverage_init): Open the notes file here.  Tidy.
      	(coverage_finish): Call coverage_obj_init etc.
      
      From-SVN: r181994
      Nathan Sidwell committed
  32. 07 Nov, 2011 1 commit
    • libgcov.c (struct gcov_fn_buffer): New struct. · 5366b186
      	libgcc/
      	* libgcov.c (struct gcov_fn_buffer): New struct.
      	(buffer_fn_data): New helper.
      	(gcov_exit): Rework for new gcov data structures.
      
      	gcc/
      	* gcov.c (object_summary): Replace with ...
      	(object_runs): ... this.
      	(process_file): Remove functions with no data.
      	(generate_results): Ignore files with no lines.
      	(release_function): New helper, broken out of ...
      	(release_structures): ... here.  Use it.
      	(read_count_file): Adjust for new data file format.
      	(output_lines): Use object_runs.
      	* gcov-io.h (GCOV_TAG_OBJECT_SUMMARY): Obsolete.
      	(struct gcov_ctr_info): Move definition.
      	(struct gcov_fn_info): Add key field, use gcov_ctr_info for
      	trailing array.
      	(struct gcov_info): Add merge function array, remove mask and
      	counts.  Trailing array is array of pointers to function info.
      	* coverage.c (struct function_list): Replace counter numbers with
      	counter arrays.  Add fndecl field.  GTYify.
      	(counts_entry): Remove chain workspace.
      	(functions_head): GTYify.
      	(prg_n_ctrs): Remove.
      	(fn_v_ctrs): New.
      	(tree_ctr_tables): Remove.
      	(read_counts_file): Cope with blank entries and expect program
      	summaries before functions.  Don't warn on missing entries.
      	(coverage_counter_alloc): Allocate individual function arrays.
      	(tree_coverage_counter_ref, tree_coverage_counter_addr): Adjust
      	for individual function arrays.
      	(coverage_end_function): GTYify function list object. Finalize
      	function's counter arrays.
      	(build_var): New.  Create a counter-related variable with
      	appropriate linkage.
      	(build_fn_info_type): Adjust for new runtime structure.
      	(build_fn_info_value): Rename to ...
      	(build_fn_info): ... here.  Build new format data.
      	(build_ctr_info_type, build_ctr_info_value): Remove.
      	(build_info_type): New. Build new format data structure.
      	(build_info): Adjust for new format data.
      	(create_coverage): Likewise.
      	* gcov-dump.c (tag_function): Recognize placeholders.
      
      	gcc/testsuite/
      	* gcc.dg/profile-dir-1.c: Adjust final scan.
      	* gcc.dg/profile-dir-2.c: Adjust final scan.
      	* gcc.dg/profile-dir-3.c: Adjust final scan.
      	* gcc.misc-tests/gcov.exp: Adjust regexp.
      	* gcc.misc-tests/gcov-12.c: New.
      	* gcc.misc-tests/gcov-13.c: New.
      	* gcc.misc-tests/gcovpart-13b.c: New.
      	* gcc.misc-tests/gcov-14.c: New.
      
      From-SVN: r181105
      Nathan Sidwell committed
  33. 29 Apr, 2011 1 commit
  34. 25 Nov, 2009 1 commit
    • Remove trailing white spaces. · b8698a0f
      2009-11-25  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* alias.c: Remove trailing white spaces.
      	* alloc-pool.c: Likewise.
      	* alloc-pool.h: Likewise.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* builtins.def: Likewise.
      	* c-common.c: Likewise.
      	* c-common.h: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-format.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-tree.h: Likewise.
      	* c-typeck.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cif-code.def: Likewise.
      	* collect2.c: Likewise.
      	* combine.c: Likewise.
      	* convert.c: Likewise.
      	* coverage.c: Likewise.
      	* crtstuff.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* dbgcnt.c: Likewise.
      	* dbgcnt.def: Likewise.
      	* dbgcnt.h: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* ddg.c: Likewise.
      	* ddg.h: Likewise.
      	* defaults.h: Likewise.
      	* df-byte-scan.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* df.h: Likewise.
      	* dfp.c: Likewise.
      	* diagnostic.c: Likewise.
      	* diagnostic.h: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* double-int.c: Likewise.
      	* double-int.h: Likewise.
      	* dse.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2asm.h: Likewise.
      	* dwarf2out.c: Likewise.
      	* ebitmap.c: Likewise.
      	* ebitmap.h: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* except.c: Likewise.
      	* except.h: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* final.c: Likewise.
      	* flags.h: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* fwprop.c: Likewise.
      	* gcc.c: Likewise.
      	* gcov-dump.c: Likewise.
      	* gcov-io.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* genchecksum.c: Likewise.
      	* genconfig.c: Likewise.
      	* genflags.c: Likewise.
      	* gengtype-parse.c: Likewise.
      	* gengtype.c: Likewise.
      	* gengtype.h: Likewise.
      	* genmddeps.c: Likewise.
      	* genmodes.c: Likewise.
      	* genopinit.c: Likewise.
      	* genpreds.c: Likewise.
      	* gensupport.c: Likewise.
      	* ggc-common.c: Likewise.
      	* ggc-page.c: Likewise.
      	* ggc-zone.c: Likewise.
      	* ggc.h: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple.c: Likewise.
      	* gimple.def: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* graphds.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* gthr-nks.h: Likewise.
      	* gthr-posix.c: Likewise.
      	* gthr-posix.h: Likewise.
      	* gthr-posix95.h: Likewise.
      	* gthr-single.h: Likewise.
      	* gthr-tpf.h: Likewise.
      	* gthr-vxworks.h: Likewise.
      	* gthr.h: Likewise.
      	* haifa-sched.c: Likewise.
      	* hard-reg-set.h: Likewise.
      	* hooks.c: Likewise.
      	* hooks.h: Likewise.
      	* hosthooks.h: Likewise.
      	* hwint.h: Likewise.
      	* ifcvt.c: Likewise.
      	* incpath.c: Likewise.
      	* init-regs.c: Likewise.
      	* integrate.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-struct-reorg.c: Likewise.
      	* ipa-struct-reorg.h: Likewise.
      	* ipa-type-escape.c: Likewise.
      	* ipa-type-escape.h: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-utils.h: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* lambda-code.c: Likewise.
      	* lambda-mat.c: Likewise.
      	* lambda-trans.c: Likewise.
      	* lambda.h: Likewise.
      	* langhooks.c: Likewise.
      	* lcm.c: Likewise.
      	* libgcov.c: Likewise.
      	* lists.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* lto-streamer.h: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto-wpa-fixup.c: Likewise.
      	* matrix-reorg.c: Likewise.
      	* mcf.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omega.c: Likewise.
      	* omega.h: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* optabs.h: Likewise.
      	* opts-common.c: Likewise.
      	* opts.c: Likewise.
      	* params.def: Likewise.
      	* params.h: Likewise.
      	* passes.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* predict.def: Likewise.
      	* pretty-print.c: Likewise.
      	* pretty-print.h: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* read-rtl.c: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regmove.c: Likewise.
      	* regrename.c: Likewise.
      	* regs.h: Likewise.
      	* regstat.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* resource.c: Likewise.
      	* rtl.c: Likewise.
      	* rtl.def: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      	* sbitmap.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-int.h: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-dump.h: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched-ir.h: Likewise.
      	* sel-sched.c: Likewise.
      	* sel-sched.h: Likewise.
      	* sese.c: Likewise.
      	* sese.h: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* stringpool.c: Likewise.
      	* stub-objc.c: Likewise.
      	* sync-builtins.def: Likewise.
      	* target-def.h: Likewise.
      	* target.h: Likewise.
      	* targhooks.c: Likewise.
      	* targhooks.h: Likewise.
      	* timevar.c: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* toplev.h: Likewise.
      	* tracer.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-affine.h: Likewise.
      	* tree-browser.def: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-chrec.h: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-data-ref.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-dump.h: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-flow-inline.h: Likewise.
      	* tree-flow.h: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-loop-linear.c: Likewise.
      	* tree-mudflap.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nomudflap.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-pass.h: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-operands.h: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tree.def: Likewise.
      	* tree.h: Likewise.
      	* treestruct.def: Likewise.
      	* unwind-compat.c: Likewise.
      	* unwind-dw2-fde-glibc.c: Likewise.
      	* unwind-dw2.c: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vec.c: Likewise.
      	* vec.h: Likewise.
      	* vmsdbgout.c: Likewise.
      	* web.c: Likewise.
      	* xcoffout.c: Likewise.
      
      From-SVN: r154645
      H.J. Lu committed
  35. 09 Apr, 2009 1 commit
  36. 20 Feb, 2009 1 commit
  37. 20 Jan, 2009 1 commit
  38. 18 Mar, 2008 1 commit
  39. 03 Feb, 2007 1 commit
    • re PR gcov-profile/30650 (ICE with -fprofile-use) · 3855c807
      	PR gcov-profile/30650
      	* value-prof.c (stringop_block_profile): Fix handling of size counter;
      	do not divide by zero for never executed counters.
      	(tree_find_values_to_profile): Fix counters.
      	* gcov-ui.h (GCOV_COUNTER_AVERAGE, GCOV_COUNTER_IOR): Fix comments.
      
      From-SVN: r121554
      Jan Hubicka committed