diff mbox

[3/n] Make TODO_verify_il handle TODO_verify_flow_info

Message ID alpine.LSU.2.11.1405051123550.18709@zhemvz.fhfr.qr
State New
Headers show

Commit Message

Richard Biener May 5, 2014, 9:26 a.m. UTC
This tackles TODO_verify_flow_info, the last existing bit.  Similar
to others we have to avoid running after IPA passes as they leave
CFG bits to be fixed up by the fixup_cfg pass invocations.

Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.

The next bit will be removing of all the TODO_ flags and their
use.  Missing is clever scheduling of loop verification.

Richard.

2014-05-05  Richard Biener  <rguenther@suse.de>

	* passes.c (execute_function_todo): Move TODO_verify_flow under
	the TODO_verify_ul umbrella.
diff mbox

Patch

Index: gcc/passes.c
===================================================================
--- gcc/passes.c	(revision 209928)
+++ gcc/passes.c	(working copy)
@@ -1783,11 +1783,11 @@  execute_function_todo (function *fn, voi
 	    /* IPA passes leave stmts to be fixed up, so make sure to
 	       not verify SSA operands whose verifier will choke on that.  */
 	    verify_ssa (true, !from_ipa_pass);
-	}
-      if (flags & TODO_verify_flow)
-	verify_flow_info ();
-      if (flags & TODO_verify_il)
-	{
+	  /* IPA passes leave basic-blocks unsplit, so make sure to
+	     not trip on that.  */
+	  if ((cfun->curr_properties & PROP_cfg)
+	      && !from_ipa_pass)
+	    verify_flow_info ();
 	  if (current_loops
 	      && loops_state_satisfies_p (LOOP_CLOSED_SSA))
 	    verify_loop_closed_ssa (false);