Commit a676a9a8 by Richard Biener Committed by Richard Biener

passes.c (execute_one_pass): Handle going out of SSA w/o hitting pass_startwith.

2016-12-20  Richard Biener  <rguenther@suse.de>

	* passes.c (execute_one_pass): Handle going out of SSA w/o
	hitting pass_startwith.  Handle skipping property providers.

	* gcc.dg/gimplefe-19.c: New testcase.

From-SVN: r243822
parent 2a1d4076
2016-12-20 Richard Biener <rguenther@suse.de>
* passes.c (execute_one_pass): Handle going out of SSA w/o
hitting pass_startwith. Handle skipping property providers.
2016-12-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/78694
......@@ -2321,7 +2321,10 @@ execute_one_pass (opt_pass *pass)
&& (cfun->curr_properties & PROP_ssa))
{
size_t namelen = strlen (pass->name);
if (! strncmp (pass->name, cfun->pass_startwith, namelen))
/* We have to at least start when we leave SSA. */
if (pass->properties_destroyed & PROP_ssa)
cfun->pass_startwith = NULL;
else if (! strncmp (pass->name, cfun->pass_startwith, namelen))
{
/* The following supports starting with the Nth invocation
of a pass (where N does not necessarily is equal to the
......@@ -2338,6 +2341,9 @@ execute_one_pass (opt_pass *pass)
return true;
}
}
/* And also run any property provider. */
else if (pass->properties_provided != 0)
;
else
return true;
}
......
2016-12-20 Richard Biener <rguenther@suse.de>
* gcc.dg/gimplefe-19.c: New testcase.
2016-12-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/78694
......
/* { dg-do compile } */
/* { dg-options "-fgimple" } */
void __GIMPLE (startwith ("ccp1")) foo ()
{
return;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment