[LLVMdev] LLVM Loop Vectorizer puzzle
Nadav Rotem
nrotem at apple.com
Thu May 23 09:02:10 PDT 2013
On May 23, 2013, at 8:52 AM, "Redmond, Paul" <paul.redmond at intel.com> wrote:
>
> !0 = metadata !{ metadata !1, metadata !2 }
> !1 = metadata !{ metadata !"llvm.loop.parallel" }
> !2 = metadata !{ metadata !"llvm.vectorization.vector_width", i32 8 }
>
> I'm not even sure you would need the llvm.loop.parallel anymore since the vectorizer could just look to see if the loop id on a parallel_loop_access matches the loop id of the loop being vectorized.
>
> Does this make any sense?
>
Yes. It makes sense to me.
>>
>> If we decide, that
>>
>> #pragma ivdep
>>
>> should imply forced vectorization (which I am not sure it should), the front-end can than in addition to the llvm.loop.parallel metadata, emit meta data to force vectorization. But, I don’t think we should overload the semantics of llvm.loop.parallel.
>
> ivdep doesn't force vectorization. It just says if you can't prove there is or isn't a dependency the assume there isn't.
I think that we should come up with a better name. I am okay with providing ICC aliases, but I think that we should come up with slightly less cryptic names for clang.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130523/55703976/attachment.html>
More information about the llvm-dev
mailing list