aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/dbgcnt.def1
-rw-r--r--gcc/tree-ssa-loop-ivcanon.c7
3 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f5ef703..b6db832 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2019-11-07 Richard Biener <rguenther@suse.de>
+
+ * dbgcnt.def (gimple_unroll): New.
+ * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Check
+ gimple_unroll debug counter before applying transform.
+ (try_peel_loop): Likewise.
+
2019-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
* ira.c (setup_alloc_regs): Setup no_unit_alloc_regs for
diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def
index 7c9daaf..9455506 100644
--- a/gcc/dbgcnt.def
+++ b/gcc/dbgcnt.def
@@ -198,3 +198,4 @@ DEBUG_COUNTER (vect_slp)
DEBUG_COUNTER (dom_unreachable_edges)
DEBUG_COUNTER (match)
DEBUG_COUNTER (store_merging)
+DEBUG_COUNTER (gimple_unroll)
diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c
index d38959c..c505f85 100644
--- a/gcc/tree-ssa-loop-ivcanon.c
+++ b/gcc/tree-ssa-loop-ivcanon.c
@@ -64,6 +64,7 @@ along with GCC; see the file COPYING3. If not see
#include "tree-cfgcleanup.h"
#include "builtins.h"
#include "tree-ssa-sccvn.h"
+#include "dbgcnt.h"
/* Specifies types of loops that may be unrolled. */
@@ -884,6 +885,9 @@ try_unroll_loop_completely (class loop *loop,
}
}
+ if (!dbg_cnt (gimple_unroll))
+ return false;
+
initialize_original_copy_tables ();
auto_sbitmap wont_exit (n_unroll + 1);
if (exit && niter
@@ -1074,6 +1078,9 @@ try_peel_loop (class loop *loop,
return false;
}
+ if (!dbg_cnt (gimple_unroll))
+ return false;
+
/* Duplicate possibly eliminating the exits. */
initialize_original_copy_tables ();
auto_sbitmap wont_exit (npeel + 1);