[LLVMdev] Proposal for ""llvm.mem.vectorize.safelen"

Hal Finkel
Wed, 20 Aug 2014 17:14:30 -0000

----- Original Message -----
> From: "Arch Robison" <arch.robison at intel.com>
> To: "Hal Finkel" <hfinkel at anl.gov>, "Roel
Jordans" <r.jordans at tue.nl>
> Cc: llvmdev at cs.uiuc.edu
> Sent: Wednesday, August 20, 2014 10:08:15 AM
> Subject: RE: [LLVMdev] Proposal for
""llvm.mem.vectorize.safelen"
>
> > I recommend that you send patches for an implementation
> > (including the Loop::GetAnnotatedVectorSafelen function
> >  and associated updates to the vectorizer) for review.
>
> I expect to send the patches for review later this week.
>
> > Make sure to remember LangRef updates!
>
> Thanks for the reminder.
>
> > Also, looking at the original proposal again, I see no reason
> > to restrict this to an i32: we might as well allow it to be an
> > i64 obviously we don't have billion-lane vectors, but the
> > metadata can also be useful for other kinds of analysis).
>
> I doubt there is much advantage between knowing the minimum
> loop-carried
> dependence difference is 1u<<31 or 1u<<63.  Unless there is a
clear
> need for the higher values less than infinity, It would seem simpler
> for now to adopt the same conventions as llvm.loop.vectorize.width
> so that some processing infrastructure can be shared easily.

Okay; fair enough.

>
> > I don't like using the name 'safelen' however. I can
forgive OpenMP
> > for choosing such a short name because people need to type it,
> > but I'd prefer that the metadata have a more-descriptive name.
> > minimum_dependency_distance is perhaps better.
>
> I'm open to naming suggestions, though I'm wondering if sticking
with
> what is now a term of art in OpenMP might be the least of all evils,
> because the semantics turn out to be a little more subtle than
> just a minimum dependence distance.  My current wording of the
> semantics
> for safelen of k are:
>
>   /// The loop can be assumed to have no loop-carried
>   /// lexically backward dependencies with distance less than k.

Alright. Perhaps you're right that it is better to stick with safelen as a
term of art. I'm okay with that.

 -Hal

>
> - Arch D. Robison
>   Intel Corporation
>
>

--
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory