1132718Skan/* Definitions for branch prediction routines in the GNU compiler.
2169689Skan   Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
390075Sobrien
490075SobrienThis file is part of GCC.
590075Sobrien
690075SobrienGCC is free software; you can redistribute it and/or modify it under
790075Sobrienthe terms of the GNU General Public License as published by the Free
890075SobrienSoftware Foundation; either version 2, or (at your option) any later
990075Sobrienversion.
1090075Sobrien
1190075SobrienGCC is distributed in the hope that it will be useful, but WITHOUT ANY
1290075SobrienWARRANTY; without even the implied warranty of MERCHANTABILITY or
1390075SobrienFITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
1490075Sobrienfor more details.
1590075Sobrien
1690075SobrienYou should have received a copy of the GNU General Public License
1790075Sobrienalong with GCC; see the file COPYING.  If not, write to the Free
18169689SkanSoftware Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
19169689Skan02110-1301, USA.  */
2090075Sobrien
21169689Skan#ifndef GCC_PREDICT_H
22169689Skan#define GCC_PREDICT_H
23169689Skan
2490075Sobrien#define DEF_PREDICTOR(ENUM, NAME, HITRATE, FLAGS) ENUM,
2590075Sobrienenum br_predictor
2690075Sobrien{
2790075Sobrien#include "predict.def"
2890075Sobrien
2990075Sobrien  /* Upper bound on non-language-specific builtins.  */
3090075Sobrien  END_PREDICTORS
3190075Sobrien};
3290075Sobrien#undef DEF_PREDICTOR
3390075Sobrienenum prediction
3490075Sobrien{
3590075Sobrien   NOT_TAKEN,
3690075Sobrien   TAKEN
3790075Sobrien};
3890075Sobrien
39132718Skanextern void predict_insn_def (rtx, enum br_predictor, enum prediction);
40169689Skanextern int counts_to_freqs (void);
4190075Sobrien
42169689Skan#endif  /* GCC_PREDICT_H */
43