[plugins-ici-cloning-instrumentation] new GCC plugin developements
Basile STARYNKEVITCH
basile@starynkevitch.net
Fri Nov 6 15:54:00 GMT 2009
Joern Rennecke wrote:
> Quoting Grigori Fursin <grigori.fursin@inria.fr>:
>
>> Sure, thanks for the info, Ian.
>>
>> The ICI changes are very small and seems that they already had been
>> pre-reviewed.
>> Joern is taking care of that now.
>
> After the pass-name changes are taken out (this is the pre-reviewed bit
> I'm currently trying to contribute to mainline), there is about 65 KB of
> unidiff left from the ICI 2.0 branch. That code needs a bit of GNU
> reformatting, so I doubt it has been reviewed in its entirety.
> As it looks like the pass-name changes can go into mainline soon, I want
> to hold off creating a branch for the rest of the code till the former
> changes are in mainline.
My suggestion would be to try pushing the minimal missing plugin hooks needed for ICI into the trunk (that could perhaps
happen in gcc 4.5 timeframe), and adjust your ICI 2.x branch to make it a plugin (perhaps dlopen-ing itself other code).
What I am thinking of is just adding a few more PLUGIN_* events. Even adding a single event take much time in practice.
http://gcc.gnu.org/ml/gcc/2009-10/msg00547.html http://gcc.gnu.org/ml/gcc/2009-10/msg00548.html
You'll need to
1.) convince the GCC community that your event is useful. This is sometimes not as easy as it seems.
(and I Basile did try a bit to explain what possible hooks could be useful to *ICI* & also MELT).
http://gcc.gnu.org/ml/gcc/2009-10/msg00549.html
2.) propose a small patch to add it
2.1) add your PLUGIN_* event in gcc/gcc-plugin.h & gcc/plugin.c
2.2) just a call to invoke_plugin_callbacks (at the place you need).
2.3) document it in gcc/doc/plugins.texi
2.4) make a testcase [this means understanding dejagnu]
3.) wait for your patch to be accepted.
My feeling is that ICI should have a small steps strategy to add the minimal hooks required, and be [like MELT] mostly a
plugin and/or an experimental branch nobody really cares about.
I am not sure it is realistic to try to push (at least for gcc 4.5, and perhaps even gcc 4.6) a multithousand lines ICI
patch.... Better push several smaller patches, each adding a PLUGIN_* event, and make most of ICI a plugin itself.
Regards.
--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***
More information about the Gcc
mailing list