This is the mail archive of the gcc@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]

[mudflap] gimple grammar question


Hi -

I found another case where the 2003-December conversion of mudflap
instrumentation from tree-walking to gimple statement iteration is
missing stuff.  It relates to complex compound expressions like
those in libmudflap's pass50-frag.c test case: (e.g. "k->a2[i1].b1[i2]").
Before this conversion, the code used to instrument each relevant
subexpression (the "->", and the two array index ops).  Now it only
protects the outermost or innermost access.

While investigating how to resuscitate some of the previous working code,
I started looking at tree-ssa documentation for a formal definition of
how rich expressions we may have to deal with.  In tree-ssa.texi, I
find the productions for "inner-compref", "min-lval", "val" which are
relevant (but mysteriously inner-compref includes min-lval recursively,
which seems to make nested INDIRECT_REFs possible).  However, the
text misses the definition for "ID" as used as rvalues and presumably
meant to include compound expressions.  Can this text be clarified to
spell out what's intended?

- FChE


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