diff options
Diffstat (limited to 'gcc/profile.h')
-rw-r--r-- | gcc/profile.h | 30 |
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 |