[cfe-dev] How to always enforce name mangling?

Daniel Schürmann via cfe-dev cfe-dev at lists.llvm.org
Tue Nov 28 08:15:35 PST 2017


Hi all,

I wanted to ask, if someone knows a possibility to always enforce name 
mangling,
no matter what source language (but instead depending on other compiler 
flags).

I am currently developing a SPIR-V target for OpenMP using OpenCL as 
runtime.
Thus, I have C/C++ input files, but emit SPIR-V.
The SPIR-V specification states: "By convention, for debugging purposes, 
modules with *OpSource* 
<https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#OpSource> 
/Source Language/ of OpenCL use the Itanium name-mangling standard."
The problem arises, when I try to make use of built-in functions, which 
are expected to be mangled
for the LLVM->SPIR-V transformation (with many of them being overloaded).

Is there any global option which can be set on invocation or do I have 
to apply changes all over the place where the actual mangling happens? 
Then, it might be enough to change function names and calls. Is the name 
mangling done in the parsing/sema stage or in codegen?

Kind regards,
Daniel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20171128/c84a355a/attachment.html>


More information about the cfe-dev mailing list