mirror of git://gcc.gnu.org/git/gcc.git
re PR tree-optimization/67381 (genmatch does not honor the order of patterns)
2015-08-31 Richard Biener <rguenther@suse.de> PR middle-end/67381 * genmatch.c (dt_node::gen_kids): Also treat matches as barrier. From-SVN: r227344
This commit is contained in:
parent
77c028c522
commit
6974662928
|
|
@ -1,3 +1,8 @@
|
|||
2015-08-31 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/67381
|
||||
* genmatch.c (dt_node::gen_kids): Also treat matches as barrier.
|
||||
|
||||
2015-08-31 Marc Glisse <marc.glisse@inria.fr>
|
||||
|
||||
* match.pd (SIN, COS, TAN, COSH): Reorder for consistency.
|
||||
|
|
|
|||
|
|
@ -2529,12 +2529,15 @@ dt_node::gen_kids (FILE *f, int indent, bool gimple)
|
|||
else
|
||||
gcc_unreachable ();
|
||||
}
|
||||
else if (kids[i]->type == dt_node::DT_MATCH
|
||||
|| kids[i]->type == dt_node::DT_SIMPLIFY)
|
||||
else if (kids[i]->type == dt_node::DT_SIMPLIFY)
|
||||
others.safe_push (kids[i]);
|
||||
else if (kids[i]->type == dt_node::DT_TRUE)
|
||||
else if (kids[i]->type == dt_node::DT_MATCH
|
||||
|| kids[i]->type == dt_node::DT_TRUE)
|
||||
{
|
||||
/* A DT_TRUE operand serves as a barrier - generate code now
|
||||
for what we have collected sofar.
|
||||
Like DT_TRUE, DT_MATCH serves as a barrier as it can cause
|
||||
dependent matches to get out-of-order. Generate code now
|
||||
for what we have collected sofar. */
|
||||
gen_kids_1 (f, indent, gimple, gimple_exprs, generic_exprs,
|
||||
fns, generic_fns, preds, others);
|
||||
|
|
|
|||
Loading…
Reference in New Issue