summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-threadupdate.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-18 15:50:04 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-18 15:50:04 +0000
commita3724f9d40c11b2076915cfc2fcdad3e9ceaeb5a (patch)
tree52ff49e4a70e3ffe4c9e607ad11edd87067575eb /gcc/tree-ssa-threadupdate.c
parent6f4315a4aeb7df45e4f7316a4b7fbeacb3ec05d8 (diff)
downloadgcc-a3724f9d40c11b2076915cfc2fcdad3e9ceaeb5a.tar.gz
* 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
Diffstat (limited to 'gcc/tree-ssa-threadupdate.c')
-rw-r--r--gcc/tree-ssa-threadupdate.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/tree-ssa-threadupdate.c b/gcc/tree-ssa-threadupdate.c
index 3e34567d8c1..e791269ebac 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++)