new option to disable guessing of branch prediction
authorAldy Hernandez <aldyh@redhat.com>
Mon, 15 Jan 2001 22:45:32 +0000 (22:45 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Mon, 15 Jan 2001 22:45:32 +0000 (22:45 +0000)
From-SVN: r39052

gcc/ChangeLog
gcc/flags.h
gcc/toplev.c

index 7e99053dd45b67cd2715609859021bb8518e1211..1c3f69896ae93155f99a0657099f5033c12060ae 100644 (file)
@@ -1,3 +1,13 @@
+2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       * toplev.c (flag_guess_branch_prob): New.
+       (f_options): Add guess-branch-probability option.
+       (rest_of_decl_compilation): Only estimate branch probability if
+       flag set.
+       (main): set flag_guess_branch_prob.
+
+       * flags.h (flag_guess_branch_prob): New.
+
 2001-01-15  DJ Delorie  <dj@redhat.com>
 
        * gcc.texi (Makefile): Add documentation for Makefile targets.
index fc19efe3da493d73da1b03b7d95b52cb5efb9949..99678ba5755449a52158647811675434924b8724 100644 (file)
@@ -531,6 +531,9 @@ extern int flag_instrument_function_entry_exit;
 /* Perform a peephole pass before sched2. */
 extern int flag_peephole2;
 
+/* Try to guess branch probablities.  */
+extern int flag_guess_branch_prob;
+
 /* -fbounded-pointers causes gcc to compile pointers as composite
    objects occupying three words: the pointer value, the base address
    of the referent object, and the address immediately beyond the end
index 408f04aa279d0790ac90bd4f8b26bfe9a7c6d37a..513436176510ff468d68bfc6ceb151c9fdd0fb2c 100644 (file)
@@ -868,6 +868,9 @@ int flag_no_ident = 0;
 /* This will perform a peephole pass before sched2.  */
 int flag_peephole2 = 0;
 
+/* This will try to guess branch probabilities.  */
+int flag_guess_branch_prob = 0;
+
 /* -fbounded-pointers causes gcc to compile pointers as composite
    objects occupying three words: the pointer value, the base address
    of the referent object, and the address immediately beyond the end
@@ -1136,6 +1139,8 @@ lang_independent_options f_options[] =
    "Process #ident directives"},
   { "peephole2", &flag_peephole2, 1,
     "Enables an rtl peephole pass run before sched2" },
+  { "guess-branch-probability", &flag_guess_branch_prob, 1,
+    "Enables guessing of branch probabilities" },
   {"math-errno", &flag_errno_math, 1,
    "Set errno after built-in math functions"},
   {"bounded-pointers", &flag_bounded_pointers, 1,
@@ -3253,7 +3258,8 @@ rest_of_compilation (decl)
       flow_loops_find (&loops, LOOP_TREE);
 
       /* Estimate using heuristics if no profiling info is available.  */
-      estimate_probability (&loops);
+      if (flag_guess_branch_prob)
+       estimate_probability (&loops);
 
       if (rtl_dump_file)
        flow_loops_dump (&loops, rtl_dump_file, NULL, 0);
@@ -4636,6 +4642,7 @@ main (argc, argv)
 #ifdef CAN_DEBUG_WITHOUT_FP
       flag_omit_frame_pointer = 1;
 #endif
+      flag_guess_branch_prob = 1;
     }
 
   if (optimize >= 2)