Dear Pietro, On Tue, Oct 15, 2013 at 01:23:46PM +0200, Pietro Braione wrote: > How far is CIL from this ideal? Would be happy to hear that we are > already there.
Not that far away. Let's imagine for a second that Simplify is split in a series of simpler passes with well defined interfaces (.mli). You can then reimplement one of them, as long as you respect the interface. All you finally need to do is loading your implementation instead the original one, either through a carefully designed list of --load options, or by writing your own META file with the appropriate dependencies. It should compose just fine with existing code, without any need for recompiling existing plugins, as long as the mli matches. You could even decide dynamically which plugin to load, with Feature.loadWithDeps (currently undocumented but I could clean that up if deemed necessary). What you cannot replace are the modules embedded in the CIL library (see src/cil.mllib for the complete list). If you want to propose a patch splitting simplify.ml into several sub-features, I would be glad to review it (note that currently, it looks as if no other CIL plugin uses Simplify anyway). Please do not hesitate to ask for further help, or publish a concrete example you are struggling with. Best regards, -- Gabriel ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk _______________________________________________ CIL-users mailing list CIL-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cil-users