[llvm-dev] [RFC] Enable "#pragma omp declare simd" in the LoopVectorizer

Hal Finkel via llvm-dev llvm-dev at lists.llvm.org
Mon Dec 12 16:09:53 PST 2016


----- Original Message -----
> From: "Renato Golin via llvm-dev" <llvm-dev at lists.llvm.org>
> To: "Francesco Petrogalli" <Francesco.Petrogalli at arm.com>
> Cc: "a bataev" <a.bataev at hotmail.com>, llvm-dev at lists.llvm.org, "Matt Masten" <matt.masten at intel.com>, "nd"
> <nd at arm.com>
> Sent: Monday, December 12, 2016 11:05:46 AM
> Subject: Re: [llvm-dev] [RFC] Enable "#pragma omp declare simd" in the	LoopVectorizer
> 
> On 12 December 2016 at 16:49, Francesco Petrogalli
> <Francesco.Petrogalli at arm.com> wrote:
> > I am not sure I understand here. In my patch, all I am doing is
> > “vector
> > symbol awareness generation”. There are no globals that are
> > generated in
> > the final object file, it is just the TargetLibraryInfoImpl that is
> > being
> > populated with the info needed by the vectorizer.
> 
> The information needs to be serialised into IR, so that a multi-step
> compilation (clang->llc) picks up the details. Otherwise, we'd be
> vectorising when coming from Clang and not when passing through
> opt/llc.

FWIW, this is the situation we have now with function vectorization (both Clang and opt end up calling TLI->addVectorizableFunctionsFromVecLib based on command-line arguments, etc.). We probably should move this into some function attribute.

 -Hal 

> 
> Admittedly, opt/llc are not user tools, but we should try to not have
> any hidden knowledge that can't be inferred again by the debug tools
> (or testing becomes impossible).
> 
> So, you either add metadata, attributes or you create multiple weak
> global functions that get destroyed by the linker if unused.
> 
> Makes sense?
> 
> cheers,
> --renato
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> 

-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory


More information about the llvm-dev mailing list