OSDN Git Service

PR c++/60046
[pf3gnuchains/gcc-fork.git] / gcc / predict.h
index a936b56..0d3124b 100644 (file)
@@ -1,12 +1,12 @@
-/* This file contains the definitions and documentation for the
-   builtins used in the GNU compiler.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+/* Definitions for branch prediction routines in the GNU compiler.
+   Copyright (C) 2001, 2003, 2004, 2007, 2008, 2010
+   Free Software Foundation, Inc.
 
 This file is part of GCC.
 
 GCC is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
 
 This file is part of GCC.
 
 GCC is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2, or (at your option) any later
+Software Foundation; either version 3, or (at your option) any later
 version.
 
 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 version.
 
 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -15,9 +15,11 @@ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.  */
+along with GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
+
+#ifndef GCC_PREDICT_H
+#define GCC_PREDICT_H
 
 #define DEF_PREDICTOR(ENUM, NAME, HITRATE, FLAGS) ENUM,
 enum br_predictor
 
 #define DEF_PREDICTOR(ENUM, NAME, HITRATE, FLAGS) ENUM,
 enum br_predictor
@@ -34,16 +36,13 @@ enum prediction
    TAKEN
 };
 
    TAKEN
 };
 
-/* Flags for NOTE_PREDICTION */
-#define IS_TAKEN 1             /* Predict edges to the block as taken.  */
-
-extern void predict_insn_def   PARAMS ((rtx, enum br_predictor,
-                                        enum prediction));
-extern void predict_insn       PARAMS ((rtx, enum br_predictor, int));
+extern void predict_insn_def (rtx, enum br_predictor, enum prediction);
+extern int counts_to_freqs (void);
+extern void estimate_bb_frequencies (void);
+extern const char *predictor_name (enum br_predictor);
+extern tree build_predict_expr (enum br_predictor, enum prediction);
+extern void tree_estimate_probability (void);
+extern void compute_function_frequency (void);
+extern void rebuild_frequencies (void);
 
 
-/* Avoid unneeded dependency on basic_block.h  */
-#ifdef BASIC_BLOCK
-extern void predict_edge       PARAMS ((edge, enum br_predictor, int));
-extern void predict_edge_def   PARAMS ((edge, enum br_predictor,
-                                        enum prediction));
-#endif
+#endif  /* GCC_PREDICT_H */