[llvm-dev] Changes in performance when the enable_noundef_analysis option is turned on.

Hyeongyu Kim via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 13 05:06:11 PDT 2021


Hello,
I've been working on making the "noundef" attribute be the default on all
functions parameters. The reason for adding the "noundef" attribute to
function arguments is to reduce performance degradation caused by the
Freeze.
And I performed several tests to show that adding the "noundef" attribute
to function arguments improves performance. I think the test results are
pretty straightforward. When there is little Freeze, adding a "noundef"
attribute does not degrade the performance.
However, in situations where the Freeze is added to solve the
LoopUnswitch's miscompilation problem, it is possible to alleviate
performance degradation by adding the "noundef" attribute to function
arguments. You can check the results and some more details at the below
link.

https://reviews.llvm.org/D105169#2996754

Thanks.
Hyeongyu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210913/26bebff0/attachment.html>


More information about the llvm-dev mailing list