Merge from trunk: 215733-215743
[official-gcc.git] / gcc-4_9 / gcc / auto-profile.h
blob276614ad9da760fe3a6046699e06c5e8d3fab4dd
1 /* auto-profile.h - Defines data exported from auto-profile.c
2 Copyright (C) 2012. Free Software Foundation, Inc.
3 Contributed by Dehao Chen (dehao@google.com)
5 This file is part of GCC.
7 GCC is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 3, or (at your option) any later
10 version.
12 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING3. If not see
19 <http://www.gnu.org/licenses/>. */
21 #ifndef AUTO_PROFILE_H
22 #define AUTO_PROFILE_H
24 #include <vector>
26 /* Read, process, finalize AutoFDO data structures. */
27 extern void init_auto_profile (void);
28 extern void end_auto_profile (void);
30 /* Returns TRUE if EDGE is hot enough to be inlined early. */
31 extern bool afdo_callsite_hot_enough_for_early_inline (struct cgraph_edge *);
33 /* Stores all possible call targets for NODE to RET. */
34 extern void get_all_possible_call_targets (struct cgraph_node *,
35 std::vector<const char *> *);
36 #endif /* AUTO_PROFILE_H */