<div dir="ltr">LLVM's analysis infrastructure is mostly intended for optimizations, which should apply to any code equally - I don't believe there's any bit that tracks which functions came from system libraries or not.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 4, 2020 at 8:01 PM sunilps <<a href="mailto:sunilps@iitk.ac.in">sunilps@iitk.ac.in</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br>
</div><div dir="ltr">Actually I want to run some analysis pass only on the user defined functions but not on the library functions. Is there any boolean method that can tell which is a library function and which is not? </div><div>On 5 Feb 2020 5:23 a.m., David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:<br type="attribution"><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Generally, you can't - and optimizations/the compiler shouldn't differentiate between them.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 4, 2020 at 3:25 PM Sunil via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  

    
  
  <div>
    <p>Say, I have the following program:</p>
    <div><font face="Courier New, Courier, monospace">   #include
        <iostream><br>
           int main(){<br>
             std::cout << "hello\n";<br>
             return 0;</font></div>
    <div><font face="Courier New, Courier, monospace">   }</font><br>
    </div>
    <div><br>
    </div>
    <div>After generating llvm bitcode using the following command: </div>
    <div>      $ <font face="Courier New, Courier, monospace">clang++
        -c -emit-llvm -O -Xclang -disable-llvm-passes a.cpp</font><br>
    </div>
    <div>the bitcode has the following function with define.</div>
    <div>      <font face="Courier New, Courier, monospace">__cxx_global_var_init<br>
           main<br>
           _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc<br>
          
        _ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate<br>
           _ZNSt11char_traitsIcE6lengthEPKc<br>
           _ZStorSt12_Ios_IostateS_<br>
           _ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv<br>
           _GLOBAL__sub_I_a.cpp<br>
      </font></div>
    <div><br>
    </div>
    <div>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'.</div>
    <div><br>
    </div>
    <div>Regards,</div>
    <div>   Sunil</div>
  </div>

_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>
</blockquote></div></blockquote></div>