This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH RFC: Don't print branches never executed in profile.c


There is code in profile.c to print the number of branches which were
never executed.  However, it was broken by this patch:

Wed Nov 21 12:38:37 CET 2001  Jan Hubicka

	* profile.c (compute_branch_probabilites):  Compute probabilities
	for entry/exit edges; estimate probabilities for zero counts.

which accidentally changed the critical line to

  num_branches++, num_never_executed;

so that num_never_executed is always zero.

Since nobody has noticed this brokenness for more than seven years, I
think we should simply remove num_never_executed.

Does anybody object to this patch?

Ian


2009-06-16  Ian Lance Taylor  <iant@google.com>

	* profile.c (total_num_never_executed): Don't define.
	(compute_branch_probabilities): Don't count or print
	num_never_executed.
	(init_branch_prob): Don't set total_num_never_executed.
	(end_branch_prob): Don't print total_num_never_executed.


Index: profile.c
===================================================================
--- profile.c	(revision 148544)
+++ profile.c	(working copy)
@@ -1,6 +1,6 @@
 /* Calculate branch probabilities, and basic block execution counts.
    Copyright (C) 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, 1999,
-   2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008
+   2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
    Free Software Foundation, Inc.
    Contributed by James E. Wilson, UC Berkeley/Cygnus Support;
    based on some ideas from Dain Samples of UC Berkeley.
@@ -100,7 +100,6 @@ static int total_num_blocks_created;
 static int total_num_passes;
 static int total_num_times_called;
 static int total_hist_br_prob[20];
-static int total_num_never_executed;
 static int total_num_branches;
 
 /* Forward declarations.  */
@@ -447,7 +446,6 @@ compute_branch_probabilities (void)
   int changes;
   int passes;
   int hist_br_prob[20];
-  int num_never_executed;
   int num_branches;
   gcov_type *exec_counts = get_exec_counts ();
   int inconsistent = 0;
@@ -647,7 +645,6 @@ compute_branch_probabilities (void)
 
   for (i = 0; i < 20; i++)
     hist_br_prob[i] = 0;
-  num_never_executed = 0;
   num_branches = 0;
 
   FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR, NULL, next_bb)
@@ -741,7 +738,7 @@ compute_branch_probabilities (void)
 	  if (bb->index >= NUM_FIXED_BLOCKS
 	      && block_ends_with_condjump_p (bb)
 	      && EDGE_COUNT (bb->succs) >= 2)
-	    num_branches++, num_never_executed;
+	    num_branches++;
 	}
     }
   counts_to_freqs ();
@@ -750,8 +747,6 @@ compute_branch_probabilities (void)
   if (dump_file)
     {
       fprintf (dump_file, "%d branches\n", num_branches);
-      fprintf (dump_file, "%d branches never executed\n",
-	       num_never_executed);
       if (num_branches)
 	for (i = 0; i < 10; i++)
 	  fprintf (dump_file, "%d%% branches in range %d-%d%%\n",
@@ -759,7 +754,6 @@ compute_branch_probabilities (void)
 		   5 * i, 5 * i + 5);
 
       total_num_branches += num_branches;
-      total_num_never_executed += num_never_executed;
       for (i = 0; i < 20; i++)
 	total_hist_br_prob[i] += hist_br_prob[i];
 
@@ -1333,7 +1327,6 @@ init_branch_prob (void)
   total_num_passes = 0;
   total_num_times_called = 0;
   total_num_branches = 0;
-  total_num_never_executed = 0;
   for (i = 0; i < 20; i++)
     total_hist_br_prob[i] = 0;
 }
@@ -1364,8 +1357,6 @@ end_branch_prob (void)
 		 / total_num_times_called);
       fprintf (dump_file, "Total number of branches: %d\n",
 	       total_num_branches);
-      fprintf (dump_file, "Total number of branches never executed: %d\n",
-	       total_num_never_executed);
       if (total_num_branches)
 	{
 	  int i;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]