[LLVMdev] How to get the original function name in C++?

Roel Jordans
2014-12-11T15:57:52Z

When a C++ compiler translates source code it will perform name mangling
to avoid name collisions due to type overloading.  You can use a tool
like c++filt to de-mangle the generated names

Cheers,
  Roel

On 11/12/14 11:52, zy jj wrote:
> Hi, everyone!
>      I'm new here trapped by a simple problem for days.
>      When LLVM translates C++ source code to IR, it will add a prefix to
> the function name. For example:
> source code:
> int foo(){
> return 1;
> }
> IR form:
> define i32 @_Z3foov() #0 {
> entry:
>    ret i32 1, !dbg !20
> }
>      The getName() method returns _Z3foov, then how can I get foo? I
> know the debugging information is contained in metadata, but I've no
> idea on using it.
>      Thanks a lot for any help.
>
>
>
>
> _______________________________________________