[llvm-dev] How to distinguish between user defined function in a program and library functions

Sunil via llvm-dev llvm-dev at lists.llvm.org
Tue Feb 4 08:24:51 PST 2020


Say, I have the following program:

    #include <iostream>
    int main(){
      std::cout << "hello\n";
      return 0;
    }

After generating llvm bitcode using the following command:
       $ clang++ -c -emit-llvm -O -Xclang -disable-llvm-passes a.cpp
the bitcode has the following function with define.
__cxx_global_var_init
    main
    _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate
    _ZNSt11char_traitsIcE6lengthEPKc
    _ZStorSt12_Ios_IostateS_
    _ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv
    _GLOBAL__sub_I_a.cpp

In a pass, I want to know what are the functions defined by the user e.g 
'main' and what are not e.g. other than 'main'.

Regards,
    Sunil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200204/7c8fe52a/attachment.html>


More information about the llvm-dev mailing list