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

Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Mon Dec 12 09:05:46 PST 2016


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.

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


More information about the llvm-dev mailing list