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

Reply via email to