[LLVMdev] How do clang & clang++ choose function names for LLVM IR?

David Glanzman davidglanzman at yahoo.com
Wed Jun 11 13:45:41 PDT 2014


Hello all,

I'm getting started on a project using LLVM's opt tool to do static
analysis, printing call graphs and such.  When compiling C programs to IR
(and eventually to call graphs), function names remain the same (main,
function1, function2 etc.), but when compiling the same program as C++, the
function names often have cruft added to them (_Z9function1v, _Z9function2v
etc.) which doesn't make for a very pretty graph.

Why are these extra characters added when going to IR from C++, but not C?
I'm interested in what they're for and if there's anyway to avoid them for
the sake of making nice graphs.

Thanks,
David Glanzman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140611/9af8f589/attachment.html>


More information about the llvm-dev mailing list