[llvm-dev] Polly as an Analysis pass in LLVM

Utpal Bora via llvm-dev llvm-dev at lists.llvm.org
Thu Mar 24 03:51:19 PDT 2016


Hi Johannes,

This is interesting. I will include a block diagram in the proposal. Thanks
a lot.

Regards,

Utpal Bora
Ph.D. Scholar
+917032002001
Computer Science & Engineering
IIT Hyderabad


On Thu, Mar 24, 2016 at 2:35 PM, Johannes Doerfert <
doerfert at cs.uni-saarland.de> wrote:

> On 03/23, Hongbin Zheng wrote:
> > Hi Johannes,
> >
> > On Mon, Mar 21, 2016 at 6:35 PM, Johannes Doerfert <
> > doerfert at cs.uni-saarland.de> wrote:
> >
> > > Hey Utpal,
> > >
> > > First of, I think you made nice process here and have some very good
> > > ideas of what we could do in the future.
> > >
> > > [NOTE: I CC'ed some people that have shown interest in this topic but I
> > > might have forgotten some, therefor I also added the llvm-dev list.]
> > >
> > > For the upcoming GSoC proposal we should slow down a little bit and
> > > reevaluate our goals. After talking to a couple of LLVM and Polly folks
> > > at EuroLLVM last week, I hope to have a fairly good idea of how to
> > > proceed. To this end, I will give you my personal road map that might
> be
> > > a good start for the proposal too, though it is not the only way we
> > > could do this:
> > >
> > >   1) Make ScopInfo & DependenceInfo function passes to avoid the
> > >      RegionPassManager for these Polly analysis parts. [This doesn't
> > >      need to be the first step but it should be done at some point.]
> > >   2) Create a secondary ScopDetection & ScopInfo that is restricted to
> > >      analyze a single loop. We might just create a dummy region for
> this
> > >      loop and use the original ScopDetection & ScopInfo. The goal is to
> > >      make (this secondary) ScopDetection & ScopInfo demand driven and
> > >      non-dependent on the RegionInfo analysis. [Same as before, this
> > >      does not need to happen right away.]
> > >
> > I really like this direction. In general, we may want to decouple the
> > ScopDetection/ScopInfo construction logic from the pass logic, such that
> we
> > can run the logic ScopDetection and ScopInfo construction in a function
> > pass, call graph scc pass, or even a loop pass.
> Totally agreed. Some kind of ScopBuilder interface that can be queried
> would be perfect. Additionally a DependenceBuilder.
>
> I would imagine something along the lines of:
>
>
>    Passes:   ScopInfo <-----------[depends]----------- DependenceInfo
>                  |                                              |
>              [queries]                                      [queries]
>                  |                                              |
>                  V                                              V
> Interface:  ScopBuilder                          ------ DependenceBuilder
>               A  |                               |              |       A
>               |  |                               |          [creates]   |
>               |  |                               |              |       |
>               |  |                               |              V       |
>   Objects:    |  |--[creates]--> Scop <--[uses]--|         Dependences  |
>               |                    |                            |       |
>               |-----[queries]--|   |-----[uses]--| |---[uses]---|       |
>                                |                 V V                    |
> New Pass/Interface:            |----------- PolyhedralInfo --[queries]--|
>                                                   A
>                                                   |
>                                                   |
>                                       [non-polyhedral queries]
>                                                   |
>                                                   |
>                                            **LLVM Passes**
>
> > For 1), can we always construct a whole function Scop (excluding the
> entry
> > block which contains allocas)?
> We could even with allocas ;)
>
> --
> You received this message because you are subscribed to the Google Groups
> "Polly Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to polly-dev+unsubscribe at googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160324/79579447/attachment.html>


More information about the llvm-dev mailing list