[llvm-dev] Correct Usage of Different Inlining Modes

via llvm-dev llvm-dev at lists.llvm.org
Wed Oct 20 14:42:21 PDT 2021

On 2021-10-20 16:47, Min-Yih Hsu wrote:
> I think you’re invoking clang static analyzer 
> (https://clang-analyzer.llvm.org
> <https://clang-analyzer.llvm.org/> ) — a tool that is used to find bugs and 
> I
> don’t think it will affect the generated IR / machine code.
> I think a better way to test different inline configurations will be
> generating IR files using clang and play around with different `opt`
> (inlining) options.
> -Min
>> On Oct 20, 2021, at 10:15 AM, via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>> Hi,
>>  I am trying to see the difference between different inlining options that 
>> llvm supports 
>> (https://clang.llvm.org/docs/analyzer/developer-docs/IPA.html). The way I 
>> invoked them was -
>>   clang++ -Xclang -analyzer-config -Xclang -ipa=dynamic -std=c++11 -Wall 
>> something.cc -o something (for dynamic mode)
>>   clang++ -Xclang -analyzer-config -Xclang -ipa=basic -std=c++11 -Wall 
>> something.cc -o something (for basic mode)
>>   and so on.
>> However, I did't observe much difference in execution times for the runs 
>> with different inlining modes, which is making me wonder if I did this 
>> correctly? Is this the right way to use the different inlining modes? Can 
>> anyone tell me if I am missing something?
>> Thanks,
>> Bodhi
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

Let me re-iterate my question. Is there any way we can test out the inlining 
modes mentioned in clang documentation 
(https://clang.llvm.org/docs/analyzer/developer-docs/IPA.htm) - 
basic-inlining, dynamic, dynamic-bifurcate, etc? The instructions in the docs 
seem to be talking about clang in general, not the static analyzer.

Also, I'd appreciate if you point to an example usage of different inlining 
options with opt? I am only aware of the -always-inline flag that can be 
loaded with opt.


More information about the llvm-dev mailing list