diff options
author | Bin Cheng <bin.cheng@arm.com> | 2017-09-25 17:32:36 +0000 |
---|---|---|
committer | Bin Cheng <amker@gcc.gnu.org> | 2017-09-25 17:32:36 +0000 |
commit | d80d5c38f921543c375c9e8aeabec2e07dba8a9f (patch) | |
tree | 46fa93e2e0fa8b863fe7b992492d01123b9b98ec /gcc/tree-ssa-loop-manip.h | |
parent | c02bffe38a706d8251442cf01095563c1bdcd61f (diff) | |
download | gcc-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.h | 6 |
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); |