This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: [plugins-ici-cloning-instrumentation] new GCC plugin developements
- From: "Grigori Fursin" <grigori dot fursin at inria dot fr>
- To: "'Joern Rennecke'" <amylaar at spamcop dot net>, <ctuning-discussions at googlegroups dot com>, "'Grigori Fursin'" <gfursin at gmail dot com>
- Cc: "'Zbigniew Chamski'" <zbigniew dot chamski at gmail dot com>, "'Richard Guenther'" <richard dot guenther at gmail dot com>, "'Basile STARYNKEVITCH'" <basile at starynkevitch dot net>, "'Ian Lance Taylor'" <iant at google dot com>, "'GCC Mailing List'" <gcc at gcc dot gnu dot org>, "'Albert Cohen'" <Albert dot Cohen at inria dot fr>, "'Yuri Kashnikoff'" <yuri dot kashnikoff at gmail dot com>, "'Yuanjie Huang'" <huangyuanjie at ict dot ac dot cn>, "'Liang Peng'" <pengliang at ict dot ac dot cn>, <dorit at il dot ibm dot com>, "'Mircea Namolaru'" <NAMOLARU at il dot ibm dot com>, "'Diego Novillo'" <dnovillo at google dot com>
- Date: Sat, 14 Nov 2009 12:49:15 +0100
- Subject: RE: [plugins-ici-cloning-instrumentation] new GCC plugin developements
- References: <4AE6E471.4020200@starynkevitch.net> <84fc9c000910270518s147e0cc4t7f1cd53049c5d590@mail.gmail.com> <4AE6E5D0.4010401@starynkevitch.net> <mcrvdi1klsb.fsf@dhcp-172-17-9-151.mtv.corp.google.com> <4AE7014A.1000903@starynkevitch.net> <mcr3a54lwb4.fsf@dhcp-172-17-9-151.mtv.corp.google.com> <4AE70C5E.4050005@starynkevitch.net> <84fc9c000910270839v2d9efe0dw829c8647f361c96f@mail.gmail.com> <4AE7164D.9010200@starynkevitch.net> <84fc9c000910270855w736df367qe511d8db280aaeb4@mail.gmail.com> <2dc303d60910271056h17038110ib63c53cfa374f5c7@mail.gmail.com> <002c01ca5746$9dd43da0$d97cb8e0$@fursin@inria.fr> <20091102074959.p8410ulv28sg0w44-nzlynne@webmail.spamcop.net> <008601ca5e09$93164fb0$b942ef10$@fursin@inria.fr> <20091106121424.ph6anlgbk0848sss-nzlynne@webmail.spamcop.net> <01e701ca5f0d$903386f0$b09a94d0$@fursin@inria.fr> <20091106132953.s84iph9egwso8oo8-nzlynne@webmail.spamcop.net> <01ed01ca5f11$27f6d110$77e47330$@fursin@inria.fr> <20091108204326.rmzkdcuj48s0o4cg-nzlynne@webmail.spamcop.net> <200911 09131505.im6ygit3wgkgcw84-nzlynne@webmail.spamcop.net> <002101ca6182$51c35900$f54a0b00$@com> <20091110001931.t1fwdifrkc04co0w-nzlynne@webmail.spamcop.net>
Hi all,
Just a small update, that after some discussions with Joern we think that based on our
time constraints and the current state of GCC, instead of trying to push full ICI into GCC
we start from the opposite approach:
We take all our plugins (support pass selection and reordering from MILEPOST;
generic function cloning and fine-grain optimizations from GSOC'09) and trying
to see which low-level GCC functionality is missing to support them.
Then we provide a few hooks to support them, provide a few small updates to GCC and rewrite
our plugins to support low-level plugin system. Joern will continue communicating
about a few extensions to the plugin system we need to make it happen.
This is a pragmatic step and should require minimal changes in GCC and will help us already
use current plugin system for our work. However, I think there is still a benefit
of ICI in separating GCC and plugins when using internal data structures, i.e. currently
the referencing of data structures in GCC is hardwired in plugins. If one day these
data structures change, we will need to rewrite all plugins. Using referencing mechanism
in ICI (data is used in plugins indirectly through parameter registering) allows us
to insure plugins compatibility but with the performance degradation. We can discuss
that later after GCC 4.5 release and when we get some more experience from the users
about plugins ...
By the way, due to that, I think that maybe besides documenting all the data structures
we should maybe also start providing info if they are used in some plugins. This maybe will
help clearning up the internals of the compiler and will prevent careless changes of the data
structures in GCC to keep plugins compatible?..
Anyway, Joern will continue communicating about the progress and extensions to the plugin
system ...
Take care and have a good weekend,
Grigori