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

Hal Finkel hfinkel at anl.gov
Wed Aug 20 10:14:30 PDT 2014


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



More information about the llvm-dev mailing list