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 <l...@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 <amacl...@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++)