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

Tyler Nowicki tnowicki at
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.


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?


On Jul 18, 2014, at 1:51 PM, Hal Finkel <hfinkel at> wrote:

> Nadav, Arnold,
> I think this makes sense. Do either of you object?
> -Hal
> ----- Original Message -----
>> From: "Mark Heffernan" <meheff at>
>> To: llvm-commits at, "cfe-commits" <cfe-commits at>, "Hal Finkel" <hfinkel at>, "Tyler
>> Nowicki" <tnowicki at>
>> 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 . 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