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]

Re: [PATCH] Add debug counter to jump threading code


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 --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++)

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