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

Roel Jordans r.jordans at tue.nl
Thu Dec 11 07:57:52 PST 2014


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.
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>



More information about the llvm-dev mailing list