Hello to all. I would like to express two personal wishes for 2.0, motivated by my personal experience with CIL and the recent support to plugins. I think that plugins should lead to a situation where:
1- complex CIL transformation passes are "unentangled" as compositions of basic ("primitive") ones; 2- that compositions of primitive transformations are expressed as plugin dependences, i.e., declaratively, leaving the task of "orchestrating" the composition to CIL, possibly in a dynamic fashion. My wish comes out of a practical need. In my project I must eliminate just one of the many code transformations done by the simplify pass. Since you cannot separate (not even identify) the unwanted transformation inside simplify, you need to write a new pass. But this is not enough, because we want to replace simplify with ourOwnSimplify everywhere, but the passes that depend on simplify.ml invoke it directly simplify.ml. So there are only two alternatives: modify all the passes depending on simplify and patch their dependence (very ugly), or patch simplify.ml (still ugly but less). In both cases you need to rebuild CIL, which goes against the very idea of plugins, where you should just compile your extension and plug it in the architecture as dynamically as possible. How far is CIL from this ideal? Would be happy to hear that we are already there. Best, Pietro ------------------------------------------------------------------------------ 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