ipa/97673 - fix input_location leak
[gcc.git] / gcc / coverage.h
index 5330363f7deba1474868c14f1f4cc3b5a547024e..22646d439fc853a7f8d7e695ca107f80c71954ad 100644 (file)
@@ -1,12 +1,11 @@
 /* coverage.h - Defines data exported from coverage.c
-   Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005
-   Free Software Foundation, Inc.
+   Copyright (C) 1998-2021 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
+Software Foundation; either version 3, or (at your option) any later
 version.
 
 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -15,9 +14,8 @@ 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, 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301, USA.  */
+along with GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
 
 #ifndef GCC_COVERAGE_H
 #define GCC_COVERAGE_H
@@ -26,27 +24,38 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
 
 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);
+extern void coverage_remove_note_file (void);
 
 /* Start outputting coverage information for the current
-   function. Repeatable per function.  */
-extern int coverage_begin_output (void);
+   function.  */
+extern int coverage_begin_function (unsigned, unsigned);
+
+/* Complete the coverage information for the current function.  */
+extern void coverage_end_function (unsigned, unsigned);
+
+/* Compute the control flow checksum for the function FN given as argument.  */
+extern unsigned coverage_compute_cfg_checksum (struct function *fn);
+
+/* Compute the profile id of function N.  */
+extern unsigned coverage_compute_profile_id (struct cgraph_node *n);
+
+/* Compute the line number checksum for the current function.  */
+extern unsigned coverage_compute_lineno_checksum (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 rtl_coverage_counter_ref (unsigned /*counter*/, unsigned/*num*/);
-/* Use a counter from the most recent allocation.  */
 extern tree tree_coverage_counter_ref (unsigned /*counter*/, unsigned/*num*/);
+/* Use a counter address from the most recent allocation.  */
+extern tree tree_coverage_counter_addr (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 **);
+                                      unsigned /*cfg_checksum*/,
+                                      unsigned /*lineno_checksum*/,
+                                      unsigned /*n_counts*/);
 
 extern tree get_gcov_type (void);
+extern bool coverage_node_map_initialized_p (void);
 
 #endif