[PATCH] Allow loops in non-affine subregions -- SCoP Detection

Johannes Doerfert doerfert at cs.uni-saarland.de
Mon Mar 9 07:26:10 PDT 2015


On 03/09, Sebastian Pop wrote:
> LGTM.
> 
> How do we compute the set of memory locations that are touched by a non-affine approximated loop?
> That is this part of the commit message:
> "all accesses that are variant in these loops
> 
>   have to be over approximated as non-affine accesses".
> 
> Do we just say that the full array is accessed, or is there a more precise description of the memory access that can be computed?
At the moment we use the same code as for "regular" non-affine accesses,
hence the whole array is accessed unless ScalarEvolution can provide a
range we can use to limit it [that's a new special case for non-affine
accesses].

I am in the middle of another project and these parts are needed there
(I use them already but want to upstream them too), therefor I only
write them as good as I need them right now. However, I want to look
into this part again once the project is done. My current idea is to
allow some kind of SCoP nesting in order to increase the precision
of the accesses (variant in not-represented loops), but also to allow
scheduling/parallelization/etc. on multiple levels.

If it is OK to wait for a bit we could talk about possibilities here in
~3 weeks?

Best regards,
  Johannes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 213 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150309/fd7677c4/attachment.sig>


More information about the llvm-commits mailing list