GCC Middle and Back End API Reference
Main Page
Namespaces
Data Structures
Files
File List
Globals
predict.h
Go to the documentation of this file.
1
/* Definitions for branch prediction routines in the GNU compiler.
2
Copyright (C) 2001-2013 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 3, 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 COPYING3. If not see
18
<http://www.gnu.org/licenses/>. */
19
20
#ifndef GCC_PREDICT_H
21
#define GCC_PREDICT_H
22
23
#define DEF_PREDICTOR(ENUM, NAME, HITRATE, FLAGS) ENUM,
24
enum
br_predictor
25
{
26
#include "predict.def"
27
28
/* Upper bound on non-language-specific builtins. */
29
END_PREDICTORS
30
};
31
#undef DEF_PREDICTOR
32
enum
prediction
33
{
34
NOT_TAKEN
,
35
TAKEN
36
};
37
38
extern
void
predict_insn_def
(
rtx
,
enum
br_predictor
,
enum
prediction
);
39
extern
int
counts_to_freqs
(
void
);
40
extern
void
estimate_bb_frequencies
(
bool
);
41
extern
const
char
*
predictor_name
(
enum
br_predictor
);
42
extern
tree
build_predict_expr
(
enum
br_predictor
,
enum
prediction
);
43
extern
void
tree_estimate_probability
(
void
);
44
extern
void
compute_function_frequency
(
void
);
45
extern
void
rebuild_frequencies
(
void
);
46
47
#endif
/* GCC_PREDICT_H */
gcc
predict.h
Generated by
1.8.1.1