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

Tyler Nowicki tnowicki at apple.com
Fri Jul 18 14:11:17 PDT 2014


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?

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





More information about the llvm-commits mailing list