[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