Message ID | 20160428135011.2719-1-patrick@parcs.ath.cx |
---|---|
State | New |
Headers | show |
On Thu, Apr 28, 2016 at 3:50 PM, Patrick Palka <patrick@parcs.ath.cx> wrote: > The predicate functions emitted by genmatch are expected to only be used > locally within {gimple,generic}-match.c, so this patch marks them as > static. Does this look OK to commit after bootstrap and regtest? Actually the idea was to for example generate predicates in match.pd format for things like vectorizer pattern recog (I've done this for a few, need to search for (partial) patches on my disk), so they are supposed to be externally visible. Of course we might want to make that explicit in some way with a (extern_match ...) [or by prefixing local ones with a '*' ...]. Richard. > gcc/ChangeLog: > > * genmatch.c (write_predicate): Mark the emitted function as > static. > --- > gcc/genmatch.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/genmatch.c b/gcc/genmatch.c > index ce964fa..2f5147f 100644 > --- a/gcc/genmatch.c > +++ b/gcc/genmatch.c > @@ -3552,7 +3552,7 @@ decision_tree::gen (FILE *f, bool gimple) > void > write_predicate (FILE *f, predicate_id *p, decision_tree &dt, bool gimple) > { > - fprintf (f, "\nbool\n" > + fprintf (f, "\nstatic bool\n" > "%s%s (tree t%s%s)\n" > "{\n", gimple ? "gimple_" : "tree_", p->id, > p->nargs > 0 ? ", tree *res_ops" : "", > -- > 2.8.1.361.g2fbef4c >
On Thu, Apr 28, 2016 at 10:02 AM, Richard Biener <richard.guenther@gmail.com> wrote: > On Thu, Apr 28, 2016 at 3:50 PM, Patrick Palka <patrick@parcs.ath.cx> wrote: >> The predicate functions emitted by genmatch are expected to only be used >> locally within {gimple,generic}-match.c, so this patch marks them as >> static. Does this look OK to commit after bootstrap and regtest? > > Actually the idea was to for example generate predicates in match.pd > format for things like vectorizer pattern recog (I've done this for a few, > need to search for (partial) patches on my disk), so they are supposed > to be externally visible. > > Of course we might want to make that explicit in some way with > a (extern_match ...) [or by prefixing local ones with a '*' ...]. Oh, I see. That sounds useful. > > Richard. > >> gcc/ChangeLog: >> >> * genmatch.c (write_predicate): Mark the emitted function as >> static. >> --- >> gcc/genmatch.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/gcc/genmatch.c b/gcc/genmatch.c >> index ce964fa..2f5147f 100644 >> --- a/gcc/genmatch.c >> +++ b/gcc/genmatch.c >> @@ -3552,7 +3552,7 @@ decision_tree::gen (FILE *f, bool gimple) >> void >> write_predicate (FILE *f, predicate_id *p, decision_tree &dt, bool gimple) >> { >> - fprintf (f, "\nbool\n" >> + fprintf (f, "\nstatic bool\n" >> "%s%s (tree t%s%s)\n" >> "{\n", gimple ? "gimple_" : "tree_", p->id, >> p->nargs > 0 ? ", tree *res_ops" : "", >> -- >> 2.8.1.361.g2fbef4c >>
diff --git a/gcc/genmatch.c b/gcc/genmatch.c index ce964fa..2f5147f 100644 --- a/gcc/genmatch.c +++ b/gcc/genmatch.c @@ -3552,7 +3552,7 @@ decision_tree::gen (FILE *f, bool gimple) void write_predicate (FILE *f, predicate_id *p, decision_tree &dt, bool gimple) { - fprintf (f, "\nbool\n" + fprintf (f, "\nstatic bool\n" "%s%s (tree t%s%s)\n" "{\n", gimple ? "gimple_" : "tree_", p->id, p->nargs > 0 ? ", tree *res_ops" : "",