6d70e6bee0
* coverage.h (coverage_counter_alloc): New function. * function.h (struct function): Remove arc_profile flag. * coverage.c (fn_ident): Remove. (fn_b_ctrs, no_coverage): New. (get_coverage_counts): Use current_function_funcdef_no. (coverage_counter_alloc): New. (coverage_counter_ref): Adjust. (coverage_begin_output): Check no_coverage. Use current_function_funcdef_no. (coverage_end_function): Likewise. (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather than clearing flag_inline_functions. Do not clear arc_profile flag. * function.c (prepare_function_start): Do not set arc_profile flag. * profile.c (instrument_edges): Return number of instrumented edges. Use a for loop. (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX local to here and simplify. Use profile_arc_flag not arc_profile flag. (find_spanning_tree): Reformat. * toplev.c (rest_of_compilation): Use profile_arc_flags and flag_test_coverage rather than arc_profile flag. From-SVN: r66695
48 lines
1.7 KiB
C
48 lines
1.7 KiB
C
/* coverage.h - Defines data exported from coverage.c
|
|
Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
|
|
|
|
This file is part of GCC.
|
|
|
|
GCC is free software; you can redistribute it and/or modify it under
|
|
the terms of the GNU General Public License as published by the Free
|
|
Software Foundation; either version 2, or (at your option) any later
|
|
version.
|
|
|
|
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with GCC; see the file COPYING. If not, write to the Free
|
|
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|
02111-1307, USA. */
|
|
|
|
#ifndef GCC_COVERAGE_H
|
|
#define GCC_COVERAGE_H
|
|
|
|
#include "gcov-io.h"
|
|
|
|
extern void coverage_init (const char *);
|
|
extern void coverage_finish (void);
|
|
|
|
/* Complete the coverage information for the current function. Once
|
|
per function. */
|
|
extern void coverage_end_function (void);
|
|
|
|
/* Start outputting coverage information for the current
|
|
function. Repeatable per function. */
|
|
extern int coverage_begin_output (void);
|
|
|
|
/* Allocate some counters. Repeatable per function. */
|
|
extern int coverage_counter_alloc (unsigned /*counter*/, unsigned/*num*/);
|
|
/* Use a counter from the most recent allocation. */
|
|
extern rtx coverage_counter_ref (unsigned /*counter*/, unsigned/*num*/);
|
|
|
|
/* Get all the counters for the current function. */
|
|
extern gcov_type *get_coverage_counts (unsigned /*counter*/,
|
|
unsigned /*expected*/,
|
|
const struct gcov_ctr_summary **);
|
|
|
|
#endif
|