aboutsummaryrefslogtreecommitdiff
path: root/gcc/profile.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/profile.h')
-rw-r--r--gcc/profile.h30
1 files changed, 19 insertions, 11 deletions
diff --git a/gcc/profile.h b/gcc/profile.h
index 4b7ac56..5d681e8 100644
--- a/gcc/profile.h
+++ b/gcc/profile.h
@@ -21,18 +21,25 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#ifndef GCC_PROFILE_H
#define GCC_PROFILE_H
+/* The number of different counter sections. */
+#define MAX_COUNTER_SECTIONS 1
+
+/* Info about number of counters in the section. */
+struct section_info
+{
+ unsigned tag; /* Section tag. */
+ int present; /* Are the data from this section read into gcc? */
+ int n_counters; /* Total number of counters. */
+ int n_counters_now; /* Number of counters in the current function. */
+};
+
struct profile_info
{
- /* Used by final, for allocating the proper amount of storage for the
- instrumented arc execution counts. */
-
- int count_instrumented_edges;
-
- /* Used by final, for writing correct # of instrumented edges
- in this function. */
-
- int count_edges_instrumented_now;
-
+ /* Information about numbers of counters in counter sections, for
+ allocating the storage and storing the sizes. */
+ unsigned n_sections;
+ struct section_info section_info[MAX_COUNTER_SECTIONS];
+
/* Checksum of the cfg. Used for 'identification' of code.
Used by final. */
@@ -46,9 +53,10 @@ struct profile_info
/* The number of profiles merged to form the profile data for the current
function. */
int count_profiles_merged;
-
};
extern struct profile_info profile_info;
+struct section_info *find_counters_section PARAMS ((unsigned));
+
#endif