[llvm-dev] Correct Usage of Different Inlining Modes

41 views
Skip to first unread message

via llvm-dev

unread,
Oct 20, 2021, 1:15:14 PM10/20/21
to llvm...@lists.llvm.org

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...@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

Min-Yih Hsu via llvm-dev

unread,
Oct 20, 2021, 4:47:38 PM10/20/21
to bodhi...@cse.iitb.ac.in, LLVM Dev
I think you’re invoking clang static analyzer (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

via llvm-dev

unread,
Oct 20, 2021, 5:42:35 PM10/20/21
to Min-Yih Hsu, LLVM Dev
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


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.

David Blaikie via llvm-dev

unread,
Oct 20, 2021, 11:37:00 PM10/20/21
to bodhi...@cse.iitb.ac.in, LLVM Dev

Correcting the URL (adding a trailing 'l'): https://clang.llvm.org/docs/analyzer/developer-docs/IPA.html

This documentation is specifically for Clang's static analyzer (note the "analyzer" in the URL, the root page for this section is here: https://clang.llvm.org/docs/ClangStaticAnalyzer.html )

This has no impact on the code Clang generates, only the static analysis warnings it produces.
 
Reply all
Reply to author
Forward
0 new messages