This is the mail archive of the gcc-patches@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] |
Hi - dnovillo wrote: > > * tree-mudflap.c (mx_xfn_indirect_ref): Use a stack of flags for > > tracking pointer deference reads vs writes. > > > Ouch, we really should run mudflap after the SSA pass. But I > guess we'll need to do this repeated work for the time being. It's actually very little extra work, since we're traversing the expression trees only once, top dosn. There is another interesting complication, however. The code that mudflap inserts (in the form of statement expressions that replace pointer deferences) is not GIMPLE until a postprocessing step. That means that mudflap actually needs to accept non-GIMPLE inputs (instrumentation emitted for an outer-nesting construct), and make the same sort of lvalue/rvalue determination. If the SSA stuff were the only way to figure out lvalue/rvalue distinctions, then the function tree would have to be gimplified after every individual instrumentation insertion, SSA gunk recalculated, and the mudflap transform tried again (for the subsequent constructs). That sounds much worse than the implemented scheme. - FChE
Attachment:
msg02378/pgp00000.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |