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

Renato Golin renato.golin at linaro.org
Tue Aug 12 15:32:15 PDT 2014


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.

If I remember correctly, the safelen semantics was just a hint to the
validation that, despite its lack of knowledge, the loop was valid at
length N, so that we could skip directly to the cost model. But it
wasn't intended to force any particular width.

cheers,
--renato




More information about the llvm-dev mailing list