[llvm-dev] [RFC] Polly Status and Integration

Michael Kruse via llvm-dev
Sat, 14 Oct 2017 22:00:15 -0000

2017-10-14 22:30 GMT+02:00 Hongbin Zheng <etherzhhb at
gmail.com>:
> I have a feeling that the LLVM LoopInfo/Loop datastructure, which only
focus
> on the CFG, is not sufficient.
> And we build extra layer upon the LLVM LoopInfo/Loop, e.g. Scop in Polly
and
> the Hierarchical CFG in VPlan (right?).
>
> Maybe we can have layers between the existing LoopInfo/Loop and VPlan/SCoP:
>
> 1. LoopInfo/Loop
> 2. LoopInfo/Loop + Hierarchical CFG
> 3. LoopInfo/Loop + Hierarchical CFG + Memory Accesses description
> 4. VPlan/Scop
>
> I think layer 2 and 3 will be very useful even outside of Polly and VPlan

The idea is also that the new hierarchy can be modified iteratively
and IR only generated at the end when all transform decisions have
been made, and analysis/layers be shared between transformations, eg..
a polyhedral dependency analysis, when available, can be used by the
vectorizer without additional programming because the dependency data
structure is the same. PolyhedralInfo currently is very different from
LoopAccessAnalysis.

Michael