re PR tree-optimization/80821 (genmatch conflicting predicates)

2017-05-19  Richard Biener  <rguenther@suse.de>

	PR build/80821
	* genmatch.c (dt_node::gen_kids_1): Add missing scope around
	predicate evaluation.

From-SVN: r248264
This commit is contained in:
Richard Biener 2017-05-19 11:13:48 +00:00 committed by Richard Biener
parent 9ca8a4c064
commit 3a6461f307
2 changed files with 10 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2017-05-19 Richard Biener <rguenther@suse.de>
PR build/80821
* genmatch.c (dt_node::gen_kids_1): Add missing scope around
predicate evaluation.
2017-05-19 Jan Hubicka <hubicka@ucw.cz>
* ipa-inline.h (ipa_call_summary): Turn sizes into signed;

View file

@ -3005,6 +3005,8 @@ dt_node::gen_kids_1 (FILE *f, int indent, bool gimple,
expr *e = as_a <expr *> (preds[i]->op);
predicate_id *p = as_a <predicate_id *> (e->operation);
preds[i]->get_name (kid_opname);
fprintf_indent (f, indent, "{\n");
indent += 2;
fprintf_indent (f, indent, "tree %s_pops[%d];\n", kid_opname, p->nargs);
fprintf_indent (f, indent, "if (%s_%s (%s, %s_pops%s))\n",
gimple ? "gimple" : "tree",
@ -3020,6 +3022,8 @@ dt_node::gen_kids_1 (FILE *f, int indent, bool gimple,
}
preds[i]->gen_kids (f, indent + 4, gimple);
fprintf (f, "}\n");
indent -= 2;
fprintf_indent (f, indent, "}\n");
}
for (unsigned i = 0; i < others.length (); ++i)