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

Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Thu Dec 8 14:08:59 PST 2016


On 8 December 2016 at 18:11, Tian, Xinmin via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> For name mangling, we have to follow certain rules of C/C++ (e.g. prefix needs to _ZVG ....).  David Majnemer who is the owner and stakeholder for approval for Clang and LLVM.  Also,  we need to pay attention to GCC compatibility.  I would suggest you look into how GCC VectorABI can be extended support your Arch.

Hi Xinmin,

I only began to review this proposal, and like yours, I think this is
a really important feature to get in.

I agree with you on the name mangling need for C++, as well as
compatibility with GCC, but according to Francesco, there are some
problems that those two alone don't solve.

I'm still unsure how the simplistic mangling we have today will work
around the multiple versions we could have with NEON (and in the
future, SVE) without polluting the mangling quite a lot (have you seen
arm_neon.h?).

So, we may get away with it for now with some basic support and the
current style, but this should grow into a more flexible scheme.

About the current IR form, I don't particularly like how they're tied
up together, but other than having multiple global functions defined
(something like weak linkage?), I don't have a better idea right now.

Francesco,

Maybe the best thing to do right now would be to try and fit NEON
alternatives in this mangling scheme and see how it goes. If anything,
it'll give us an idea on what's broken, and hopefully, how to fix it.

cheers,
--renato


More information about the llvm-dev mailing list