]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/predict.h
* bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
[thirdparty/gcc.git] / gcc / predict.h
CommitLineData
148bd232 1/* Definitions for branch prediction routines in the GNU compiler.
0ba508e4 2 Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
13488c51 3
f12b58b3 4This file is part of GCC.
13488c51 5
f12b58b3 6GCC is free software; you can redistribute it and/or modify it under
7the terms of the GNU General Public License as published by the Free
8Software Foundation; either version 2, or (at your option) any later
9version.
13488c51 10
f12b58b3 11GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12WARRANTY; without even the implied warranty of MERCHANTABILITY or
13FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14for more details.
13488c51 15
16You should have received a copy of the GNU General Public License
f12b58b3 17along with GCC; see the file COPYING. If not, write to the Free
18Software Foundation, 59 Temple Place - Suite 330, Boston, MA
1902111-1307, USA. */
13488c51 20
4ee9c684 21#ifndef GCC_PREDICT_H
22#define GCC_PREDICT_H
23
eb429644 24#define DEF_PREDICTOR(ENUM, NAME, HITRATE, FLAGS) ENUM,
13488c51 25enum br_predictor
26{
27#include "predict.def"
28
88b5b080 29 /* Upper bound on non-language-specific builtins. */
13488c51 30 END_PREDICTORS
31};
32#undef DEF_PREDICTOR
33enum prediction
34{
35 NOT_TAKEN,
36 TAKEN
37};
38
cd0fe062 39/* Flags for NOTE_PREDICTION */
40#define IS_TAKEN 1 /* Predict edges to the block as taken. */
41
d598ad0d 42extern void predict_insn_def (rtx, enum br_predictor, enum prediction);
43extern void predict_insn (rtx, enum br_predictor, int);
ffedd254 44extern int counts_to_freqs (void);
13488c51 45
4ee9c684 46#endif /* GCC_PREDICT_H */