document -fno-guess-branch-probability option
authorAldy Hernandez <aldyh@gcc.gnu.org>
Wed, 17 Jan 2001 19:43:13 +0000 (19:43 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Wed, 17 Jan 2001 19:43:13 +0000 (19:43 +0000)
From-SVN: r39096

gcc/ChangeLog
gcc/invoke.texi

index 3206f2c..1d129cb 100644 (file)
@@ -1,9 +1,14 @@
+2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
+
+        * invoke.texi (-fno-guess-branch-probability): New option.
+
 Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * combine.c (try_combine): Don't set i3_subst_into_i2 for
        case of making new double-word constant.
        Revert last change: instead just test i3_subst_into_i2.
 
+>>>>>>> 1.9022
 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
 
        * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
index 4536ba6..8a7a922 100644 (file)
@@ -244,7 +244,8 @@ in the following sections.
 -finline-functions  -finline-limit=@var{n}  -fkeep-inline-functions @gol
 -fkeep-static-consts  -fmove-all-movables @gol
 -fno-default-inline  -fno-defer-pop @gol
--fno-function-cse  -fno-inline  -fno-math-errno  -fno-peephole @gol
+-fno-function-cse   -fno-guess-branch-probability
+-fno-inline  -fno-math-errno  -fno-peephole @gol
 -fomit-frame-pointer  -foptimize-register-move @gol
 -foptimize-sibling-calls  -freduce-all-givs @gol
 -fregmove  -frename-registers @gol
@@ -3123,6 +3124,15 @@ branch is mostly to take, the @samp{REG_BR_PROB} values are used to
 exactly determine which path is taken more often.
 @end ifset
 
+@item -fno-guess-branch-probability
+Sometimes gcc will opt to guess branch probabilities when none are
+available from either profile directed feedback (@samp{-fprofile-arcs})
+or @samp(__builtin_expect).  In a hard real-time system, people don't
+want different runs of the compiler to produce code that has different
+behavior; minimizing non-determinism is of paramount import.  This
+switch allows users to reduce non-determinism, possibly at the expense
+of inferior optimization.
+
 @item -fstrict-aliasing
 Allows the compiler to assume the strictest aliasing rules applicable to
 the language being compiled.  For C (and C++), this activates