diff mbox

Add debug counter to jump threading code

Message ID 52615976.8080700@redhat.com
State New
Headers show

Commit Message

Jeff Law Oct. 18, 2013, 3:53 p.m. UTC
On 10/18/13 09:50, Jeff Law wrote:
>
> I was debugging a failure yesterday in the jump threading code that was
> best narrowed down with a debug counter.  No sense in keeping that in my
> local tree.
>
> While adding the new #include, I saw a couple #includes that clearly
> didn't belong, so I zapped them.
>
> Bootstrapped and regression tested on x86_64-unknown-linux-gnu.
Opps, attached wrong patch.  Correct version attached this time.

jeff


>
commit 9339daeaa66b8a3d958fc32eed66dbdca7bbf31f
Author: law <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Oct 18 15:50:04 2013 +0000

           * tree-ssa-threadupdate.c: Do not include "tm.h" or "tm_p.h".
    
            * tree-ssa-threadupdate.c: Include "dbgcnt.h".
            (register_jump_thread): Add "registered_jump_thread" debug counter support.
            * dbgcnt.def (registered_jump_thread): New debug counter.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203825 138bc75d-0d04-0410-961f-82ee72b054a4
diff mbox

Patch

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0553518..e18ad6f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@ 
+2013-10-18  Jeff Law  <law@redhat.com>
+
+	* tree-ssa-threadupdate.c: Do not include "tm.h" or "tm_p.h".
+
+	* tree-ssa-threadupdate.c: Include "dbgcnt.h".
+	(register_jump_thread): Add "registered_jump_thread" debug counter support.
+	* dbgcnt.def (registered_jump_thread): New debug counter.
+
 2013-10-18  Andrew MacLeod  <amacleod@redhat.com>
 
 	* config/rs6000/rs6000.c: Include cgraph.h.
diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def
index 45b8eed..6f86253 100644
--- a/gcc/dbgcnt.def
+++ b/gcc/dbgcnt.def
@@ -188,3 +188,4 @@  DEBUG_COUNTER (store_motion)
 DEBUG_COUNTER (split_for_sched2)
 DEBUG_COUNTER (tail_call)
 DEBUG_COUNTER (ira_move)
+DEBUG_COUNTER (registered_jump_thread)
diff --git a/gcc/tree-ssa-threadupdate.c b/gcc/tree-ssa-threadupdate.c
index 3e34567..e791269 100644
--- a/gcc/tree-ssa-threadupdate.c
+++ b/gcc/tree-ssa-threadupdate.c
@@ -20,10 +20,8 @@  along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "tree.h"
 #include "flags.h"
-#include "tm_p.h"
 #include "basic-block.h"
 #include "function.h"
 #include "tree-ssa.h"
@@ -31,6 +29,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "dumpfile.h"
 #include "cfgloop.h"
 #include "hash-table.h"
+#include "dbgcnt.h"
 
 /* Given a block B, update the CFG and SSA graph to reflect redirecting
    one or more in-edges to B to instead reach the destination of an
@@ -1534,6 +1533,14 @@  dump_jump_thread_path (FILE *dump_file, vec<jump_thread_edge *> path)
 void
 register_jump_thread (vec<jump_thread_edge *> *path)
 {
+  if (!dbg_cnt (registered_jump_thread))
+    {
+      for (unsigned int i = 0; i < path->length (); i++)
+	delete (*path)[i];
+      path->release ();
+      return;
+    }
+
   /* First make sure there are no NULL outgoing edges on the jump threading
      path.  That can happen for jumping to a constant address.  */
   for (unsigned int i = 0; i < path->length (); i++)