I’m a LLVM newbie and am working on a LLVM 3.5 code base. The project (https://github.com/zhguanw/lin-analyzer) makes use of clang and reads C code. I’m trying to make it read C++ code. When I compile a kernel written in C with clang++, I get the following difference in the IR for a function declaration:
When compiled with clang:
declare void @convolution3d(float*, float*) #1
When compiled with clang++:
declare void @Z13convolution3dPfS(float*, float*) #2
The project breaks if I compile with clang++ because it expects the function name to not have the @_Z13*PfS. Does anyone know how I can get the function name in the IR generated by clang++ to not have the mangled characters? Once again, this is in LLVM 3.5.
Implementation of Computation Group