Are there any plans to move the partial unrolling phase from RTL to Tree-SSA? The move would benefit from better (or easier to implement) Tree-SSA alias analysis.
Alex > > > > > --- On Wed, 4/22/09, Li Feng <nemoking...@gmail.com> > wrote: > > > From: Li Feng <nemoking...@gmail.com> > > Subject: [gSoc] [graphite] general plan for Automatic > parallelization in Graphite > > To: "GCC" <gcc@gcc.gnu.org> > > Cc: "Tobias Grosser" > <tobi-gros...@web.de>, "Sebastian" > <seb...@gmail.com>, "Razya Ladelsky" > <ra...@il.ibm.com>, konrad.trifuno...@gmail.com > > Date: Wednesday, April 22, 2009, 5:10 PM > > Hi, > > > > It's nice that the proposal 'Automatic > > parallelization in Graphite' > > is accepted. Which means I will be working with great > > Graphtie > > developers this summer, and trying to implement the > project > > . > > > > I have set up a blog for this project, which will > mainly > > about this > > project: 1. plans 2. what I have done 3. related > Graphite > > internals > > You can subscribe to it if you like: > > http://summergraphite.blogspot.com/ > > > > Here is a general plan for this project, keep you in > loop, > > and feel free to comment :) > > > > 1. Mark the innermost loop parallel [done] > > > > 2. Try to schedule autopar pass after Graphite, and > enable > > code generation if flag_graphite_force_parallel > is set > > - There should be some discussion with Razya > about > > her plan about the autopar part > > - But before that, I'll try to schedule > > autopar first > > > > 3. I may try to write testcases for the loops that > should > > be > > parallel, from simple to hard, and check > autopar's > > code > > generation part, make sure this works correctly > as we > > expected. > > - The testcases is important. There should be > some > > detailed discussion maybe with Sebastian > and > > Konrad. > > To see what kind of loop we can/decide to > > handle. > > - Check autopar's code generation with > > flag_graphite_force_parallel set with these > > testcases, > > report bugs if it goes wrong. > > > > 4. Try to write code for deciding if a loop can be > > parallel > > with data dependency test under this polyhedral > model. > > - Try to understand the interface of data > > dependency test > > - Write code, if data dependency success, mark > the > > loop parallel > > > > Cheers, > > Li