This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH][3/n] Make TODO_verify_il handle TODO_verify_flow_info


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.

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);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]