OSDN Git Service

* emit-rtl.c (dconstm2, dconsthalf): New real constants.
[pf3gnuchains/gcc-fork.git] / gcc / profile.h
1 /* profile.h - Defines data exported from profile.c to other passes.
2    Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
3
4 This file is part of GCC.
5
6 GCC is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free
8 Software Foundation; either version 2, or (at your option) any later
9 version.
10
11 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING.  If not, write to the Free
18 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19 02111-1307, USA.  */
20
21 #ifndef GCC_PROFILE_H
22 #define GCC_PROFILE_H
23
24 /* The number of different counter sections.  */
25 #define MAX_COUNTER_SECTIONS    1
26
27 /* Info about number of counters in the section.  */
28 struct section_info
29 {
30   unsigned tag;         /* Section tag.  */
31   int present;          /* Are the data from this section read into gcc?  */
32   int n_counters;       /* Total number of counters.  */
33   int n_counters_now;   /* Number of counters in the current function.  */
34 };
35
36 struct profile_info
37   {
38     /* Information about numbers of counters in counter sections, for
39        allocating the storage and storing the sizes.  */
40     unsigned n_sections;
41     struct section_info section_info[MAX_COUNTER_SECTIONS];
42     
43     /* Checksum of the cfg. Used for 'identification' of code.
44        Used by final.  */
45
46     unsigned current_function_cfg_checksum;
47
48     /* Max. value of counter in program corresponding to the profile data
49        for the current function.  */
50
51     gcov_type max_counter_in_program;
52
53     /* The number of profiles merged to form the profile data for the current
54        function.  */
55     int count_profiles_merged;
56   };
57
58 extern struct profile_info profile_info;
59
60 struct section_info *find_counters_section      PARAMS ((unsigned));
61
62 #endif