[LLVMdev] Proposal for ""llvm.mem.vectorize.safelen"

Johannes Doerfert doerfert at cs.uni-saarland.de
Tue Aug 12 16:46:31 PDT 2014


On 08/12, Renato Golin wrote:
> On 12 August 2014 22:44, Arnold Schwaighofer <aschwaighofer at apple.com> wrote:
> > Is this annotation - if present -  meant as a restriction to accesses marked with “llvm.mem.parallel_loop_access”?  - That there is no loop carried dependence at a |distance| < k but there might be one at >= k between marked accesses.
> 
> Hum, indeed, Polly and the vectorizer should be careful when
> adding/changing annotations on loops that the user has already
> annotated, or we run the risk of trying to be smarter than the user
> and getting it wrong.
I don't think that will be a problem.

Polly, at least as is, doesn't use any user annotations, but computes the
dependency distance on its own (based on all memory accesses in the loop).
This should always be sound (we do not mix user annotations and the ones we
generate in any way). This is because Polly currently forgets all memory and
loop user annotations when generating the optimized loop nest. However,
the original loop nest, which might still be reachable (in case we
introduce runtime alias or delinearization checks), is not changed at all.

-- 

Johannes Doerfert
Researcher / PhD Student

Compiler Design Lab (Prof. Hack)
Saarland University, Computer Science
Building E1.3, Room 4.26

Tel. +49 (0)681 302-57521 : doerfert at cs.uni-saarland.de
Fax. +49 (0)681 302-3065  : http://www.cdl.uni-saarland.de/people/doerfert
-------------- 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-dev/attachments/20140812/fb57de02/attachment.sig>


More information about the llvm-dev mailing list