aboutsummaryrefslogtreecommitdiff
path: root/gcc/passes.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2017-05-11 07:26:32 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2017-05-11 07:26:32 +0000
commit687aed9cc8c53b7833df9c62912292c17fdbc97f (patch)
tree771604cdd80818bfa104f17817ef974cee473876 /gcc/passes.c
parenteb5095f83f43c7ed972574047551b4538fa23f5e (diff)
downloadgcc-687aed9cc8c53b7833df9c62912292c17fdbc97f.zip
gcc-687aed9cc8c53b7833df9c62912292c17fdbc97f.tar.gz
gcc-687aed9cc8c53b7833df9c62912292c17fdbc97f.tar.bz2
passes.c (execute_function_todo): Verify loops if they are said to be up-to-date.
2017-05-11 Richard Biener <rguenther@suse.de> * passes.c (execute_function_todo): Verify loops if they are said to be up-to-date. * cfgexpand.c (pass_expand::execute): Discard loops for -dx. * trans-mem.c (pass_tm_edges::execute): Mark loops for fixup. From-SVN: r247879
Diffstat (limited to 'gcc/passes.c')
-rw-r--r--gcc/passes.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/passes.c b/gcc/passes.c
index 185c3cd..911495e 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -1979,8 +1979,12 @@ execute_function_todo (function *fn, void *data)
&& !from_ipa_pass)
verify_flow_info ();
if (current_loops
- && loops_state_satisfies_p (LOOP_CLOSED_SSA))
- verify_loop_closed_ssa (false);
+ && ! loops_state_satisfies_p (LOOPS_NEED_FIXUP))
+ {
+ verify_loop_structure ();
+ if (loops_state_satisfies_p (LOOP_CLOSED_SSA))
+ verify_loop_closed_ssa (false);
+ }
if (cfun->curr_properties & PROP_rtl)
verify_rtl_sharing ();
}