Rename metadata llvm.loop.vectorize.unroll to llvm.loop.vectorize.interleave

Arnold Schwaighofer aschwaighofer at apple.com
Fri Jul 18 14:24:29 PDT 2014


SGTM.

> On Jul 18, 2014, at 2:17 PM, Hal Finkel <hfinkel at anl.gov> wrote:
> 
> ----- Original Message -----
>> From: "Tyler Nowicki" <tnowicki at apple.com>
>> To: "Hal Finkel" <hfinkel at anl.gov>, "Mark Heffernan" <meheff at google.com>
>> Cc: "nadav" <nadav at apple.com>, "Arnold Schwaighofer" <aschwaighofer at apple.com>, "llvm-commits"
>> <llvm-commits at cs.uiuc.edu>, "llvm cfe" <cfe-commits at cs.uiuc.edu>
>> Sent: Friday, July 18, 2014 4:11:17 PM
>> Subject: Re: Rename metadata llvm.loop.vectorize.unroll to llvm.loop.vectorize.interleave
>> 
>> Hi Mark, Hal,
>> 
>> Something I had on my list of things to do was to modify the metadata
>> to allow vectorization and interleaving to be controlled
>> independently. Right now 'loop.vectorize.enable’ turns on/off both
>> vectorization and interleaving. So #pragma clang loop
>> vectorize(enable) actually turns on interleaving as well. I would
>> like to see the metadata be something like.
>> 
>> loop.vectorize.enable/width
>> loop.interleave.enable/count
>> 
>> That would be consistent with 'loop.unroll.enable/count’ and the
>> pragma clang loop syntax.
>> 
>> Perhaps you could rename ‘loop.vectorize.unroll' to
>> ‘loop.interleave.count'. That way in a future patch we could add
>> ‘loop.interleave.enable'.
>> 
>> What do you think?
> 
> This makes sense to me.
> 
> -Hal
> 
>> 
>> Tyler
>> 
>> On Jul 18, 2014, at 1:51 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>> 
>>> Nadav, Arnold,
>>> 
>>> I think this makes sense. Do either of you object?
>>> 
>>> -Hal
>>> 
>>> ----- Original Message -----
>>>> From: "Mark Heffernan" <meheff at google.com>
>>>> To: llvm-commits at cs.uiuc.edu, "cfe-commits"
>>>> <cfe-commits at cs.uiuc.edu>, "Hal Finkel" <hfinkel at anl.gov>, "Tyler
>>>> Nowicki" <tnowicki at apple.com>
>>>> Sent: Friday, July 18, 2014 3:44:00 PM
>>>> Subject: Rename metadata llvm.loop.vectorize.unroll to
>>>> llvm.loop.vectorize.interleave
>>>> 
>>>> 
>>>> This patch rename metadata llvm.loop.vectorize.unroll to
>>>> llvm.loop.vectorize.interleave to avoid confusion with the
>>>> concatenation unroller metadata (llvm.loop.unroll). It fell out of
>>>> a
>>>> discussion on patch http://reviews.llvm.org/D4576 . On that patch
>>>> there was some confusion about whether llvm.loop.vectorize.unroll
>>>> controlled the traditional (concatenation) loop unroller. And IIRC
>>>> this isn't the first time there has been this confusion. Renaming
>>>> vectorize.unroll to vectorize.interleave also more closely matches
>>>> the pragma which generates the metadata (#pragma clang loop
>>>> interleave_count). There are still lots of uses of "unroll" within
>>>> the code in function/variable names and comments. I have no
>>>> intention of changing those.
>>>> 
>>>> 
>>>> Mark
>>> 
>>> --
>>> Hal Finkel
>>> Assistant Computational Scientist
>>> Leadership Computing Facility
>>> Argonne National Laboratory
>> 
>> 
> 
> -- 
> Hal Finkel
> Assistant Computational Scientist
> Leadership Computing Facility
> Argonne National Laboratory

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140718/12b9e6ba/attachment.html>


More information about the llvm-commits mailing list