On Tue, Jan 01, 2013 at 03:23:06PM +0530, Shakthi Kannan wrote: > Greetings! > > I would like to know if there are any TODO tasks that I can work on to > get started with Graphite/GCC. I came across Tobias Grosser's post > regarding Graphite development at: > > http://gcc.gnu.org/wiki/Graphite-4.8
In addition of that list, I would suggest adding plugin support & hooks into graphite. For instance, it is currently not really possible to make the Graphite-OpenCL hack as a plugin to GCC 4.8 (or the next GCC), because (that was at least true more than a year ago, when I looked in details): * some internal data are not GTY-ed inside graphite. It is quite important for plugins that the data they manipulate is properly GTY-ed and handled by Ggc (and deleted only by the Ggc, so that plugin passes could manipulate them easily, share them between several passes, etc). * there is no plugin hooks at all in graphite, even for simple things like dealing with induction variables, SCOP, etc... A lot of information computed by graphite passes could be useful to plugins. As a general hint, my suggestion would be to improve Graphite till the Graphite-OpenCL hack could be coded as a GCC plugin. (I don't think that Graphite-OpenCL should be a core feature of GCC, I do think it is a typical use case for plugins, but the current Graphite infrastructure does not allow that because of nasty details. Today, to make Grahpite-OpenCL as a plugin, one have to copy-paste the code of Graphite passes, patche them as Graphite-OpenCL did, and replace the core Graphite passes with their Graphite-OpenCL improvement; this is messy, error-prone, ugly; it would be better if Graphite gave enough plugin hooks to avoid that). If you add plugin abilities to Graphite passes, please document that! Happy new year 2013 to everyone. -- 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} ***