[LLVMdev] [PATCH] parallel loop awareness to the LoopVectorizer

Renato Golin renato.golin at linaro.org
Mon Jan 28 05:22:17 PST 2013

On 28 January 2013 11:58, Pekka Jääskeläinen <pekka.jaaskelainen at tut.fi>wrote:

> Attached is a patch which uses a simple "parallel_loop" metadata attached
> to the loop branch instruction in the loop latch for skipping
> cross-iteration
> memory dependency checking in the LoopVectorizer. This was briefly
> discussed
> in the email thread "LoopVectorizer in OpenCL C work group
> autovectorization".

I agree this is a good idea, but not sure about the implementation.

+  if (latch->getTerminator()->getMetadata("parallel_loop") != NULL) {

This seems an awfully specific check on a generic part of the code... If
this metadata standard in any form? If this OpenCL specific? Does all
OpenCL front-ends generate the same meta-data in that way? Etc...

It also converts the "min iteration count to vectorize" to a parameter so
> this can be controlled from the command line.

Is this really necessary? Do you have use cases where this would make sense?

I think you should send a test case with this patch, not separate.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130128/45bd0f7e/attachment.html>

More information about the llvm-dev mailing list