aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-manip.h
diff options
context:
space:
mode:
authorBin Cheng <bin.cheng@arm.com>2017-09-25 17:32:36 +0000
committerBin Cheng <amker@gcc.gnu.org>2017-09-25 17:32:36 +0000
commitd80d5c38f921543c375c9e8aeabec2e07dba8a9f (patch)
tree46fa93e2e0fa8b863fe7b992492d01123b9b98ec /gcc/tree-ssa-loop-manip.h
parentc02bffe38a706d8251442cf01095563c1bdcd61f (diff)
downloadgcc-d80d5c38f921543c375c9e8aeabec2e07dba8a9f.zip
gcc-d80d5c38f921543c375c9e8aeabec2e07dba8a9f.tar.gz
gcc-d80d5c38f921543c375c9e8aeabec2e07dba8a9f.tar.bz2
re PR tree-optimization/82163 (ICE on valid code at -O3 on x86_64-linux-gnu: in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:707)
PR tree-optimization/82163 * tree-ssa-loop-manip.h (verify_loop_closed_ssa): New parameter. (checking_verify_loop_closed_ssa): New parameter. * tree-ssa-loop-manip.c (check_loop_closed_ssa_use): Delete. (check_loop_closed_ssa_stmt): Delete. (check_loop_closed_ssa_def, check_loop_closed_ssa_bb): New functions. (verify_loop_closed_ssa): Check loop closed ssa form for LOOP. (tree_transform_and_unroll_loop): Check loop closed ssa form only for changed loops. gcc/testsuite * gcc.dg/tree-ssa/pr82163.c: New test. From-SVN: r253161
Diffstat (limited to 'gcc/tree-ssa-loop-manip.h')
-rw-r--r--gcc/tree-ssa-loop-manip.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/tree-ssa-loop-manip.h b/gcc/tree-ssa-loop-manip.h
index a139050..3f5b3ee 100644
--- a/gcc/tree-ssa-loop-manip.h
+++ b/gcc/tree-ssa-loop-manip.h
@@ -28,13 +28,13 @@ extern void rewrite_into_loop_closed_ssa_1 (bitmap, unsigned, int,
struct loop *);
extern void rewrite_into_loop_closed_ssa (bitmap, unsigned);
extern void rewrite_virtuals_into_loop_closed_ssa (struct loop *);
-extern void verify_loop_closed_ssa (bool);
+extern void verify_loop_closed_ssa (bool, struct loop * = NULL);
static inline void
-checking_verify_loop_closed_ssa (bool verify_ssa_p)
+checking_verify_loop_closed_ssa (bool verify_ssa_p, struct loop *loop = NULL)
{
if (flag_checking)
- verify_loop_closed_ssa (verify_ssa_p);
+ verify_loop_closed_ssa (verify_ssa_p, loop);
}
extern basic_block split_loop_exit_edge (edge);