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]

[patch][mudflap] Mudflap cleanup


This cleanup makes it obvious as to how mudflap could be rewritten as
a plugin. Below are the highlights of the patch.

Mudflap now exports only two functions (mudflap_init,
mudflap_finish_unit) to the rest of gcc.

Also all but two uses of flag_mudflap have been eliminated from the
rest of gcc, the remaining uses are for invoking the two exported
functions.

Another highlight of the patch is the elimination of decl marking
(mf_mark(), mf_marked_p(), marked_trees).
Mudflap used to mark decls to avoid
    (i) instrumenting synthetic decls  and
    (ii) re instrumenting globals.
Both requirements are now met by
   (i) explicitly identifying synthetic decls/ssa vars and
   (ii) instrumenting globals once at the end of compilation using
varpool and constant_pool.

Bootstrapped and tested on x86_64-unknown-linux-gnu. No regressions
(including libmudflap testsuite).

Thanks


tunji

Attachment: mudflap_cleanup.txt
Description: Text document


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