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

Hal Finkel hfinkel at anl.gov
Fri Jul 18 14:17:55 PDT 2014


----- 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




More information about the cfe-commits mailing list