[PATCH] support llvm.vectorization.vector_width metadata

Du Toit, Stefanus stefanus.du.toit at intel.com
Fri May 24 12:57:28 PDT 2013


<bikeshed>
I think "llvm.vectorize.*" would be a better name that hopefully strikes a
good balance between brevity and making the intent clear.

These are instructions to the vectorizer to tell it how to handle the
loop, not statements about the loop.
</bikeshed>

--
Stefanus Du Toit <stefanus.du.toit at intel.com>
Intel Waterloo
Phone: 519-591-1738






On 2013-05-24 3:46 PM, "Redmond, Paul" <paul.redmond at intel.com> wrote:

>I'm fine with llvm.vector.width. Anyone object?
>
>On 2013-05-24, at 2:45 PM, 罗勇刚(Yonggang Luo) wrote:
>
>Is that really need such a long name?
>why llvm.vector.width is not suite here?
>along with
>llvm.vector.force
>llvm.vector.disable
>llvm.vector.unroll
>?
>
>I know vectorization is a named verb, and have different meaning with
>vector.
>but still vector is really simpler.
>
>
>
>2013/5/25 Arnold Schwaighofer
><aschwaighofer at apple.com<mailto:aschwaighofer at apple.com>>
>That would be great. I think the following annotations would be useful:
>
>llvm.vectorization.unroll
>llvm.vectorization.force (vectorize without consulting the cost model)
>llvm.vectorization.disable (don’t vectorize)
>
>Thanks
>
>On May 24, 2013, at 1:25 PM, "Redmond, Paul"
><paul.redmond at intel.com<mailto:paul.redmond at intel.com>> wrote:
>
>> Sure. Should I also add support for llvm.vectorization.unroll? Are
>>there any other obvious hints?
>>
>> On 2013-05-24, at 2:22 PM, Arnold Schwaighofer wrote:
>>
>>>
>>> On May 24, 2013, at 12:49 PM, "Redmond, Paul"
>>><paul.redmond at intel.com<mailto:paul.redmond at intel.com>> wrote:
>>>
>>>> Hi,
>>>>
>>>> The attached patch modifies LoopVectorizer to recognize
>>>>llvm.vectorization.vector_width metadata attached to llvm.loop
>>>>metadata.
>>>>
>>>> The llvm.loop.parallel metadata has been renamed to llvm.loop to be
>>>>more generic. Loop::isAnnotatedParallel now looks for llvm.loop and
>>>>associated llvm.mem.parallel_loop_access. If we decide that we still
>>>>need an explicit llvm.loop.parallel metadata then it can be added as a
>>>>child of llvm.loop.
>>>>
>>>
>>> Can you also include an update to the LangRef.
>>>
>>>
>>> Thanks
>>>
>>>
>>>> Loop::setLoopID was added for symmetry and it is used in a
>>>>forthcoming patch which preserves llvm.loop metadata in loop passes.
>>>>
>>>> paul
>>>>
>>>> <Mail Attachment>_______________________________________________
>>>> llvm-commits mailing list
>>>> llvm-commits at cs.uiuc.edu<mailto:llvm-commits at cs.uiuc.edu>
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
>_______________________________________________
>llvm-commits mailing list
>llvm-commits at cs.uiuc.edu<mailto:llvm-commits at cs.uiuc.edu>
>http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
>
>--
>         此致
>>罗勇刚
>Yours
>    sincerely,
>Yonggang Luo
>
>
>_______________________________________________
>llvm-commits mailing list
>llvm-commits at cs.uiuc.edu
>http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list