[llvm-dev] RFC: LTO should use -disable-llvm-verifier

Sean Silva via llvm-dev llvm-dev at lists.llvm.org
Sun Aug 30 13:03:37 PDT 2015

On Sat, Aug 29, 2015 at 3:03 PM, Duncan P. N. Exon Smith via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> The verifier takes ~5% of link time when using LTO.  I think we
> should add a `-disable-llvm-verifier` option to the LTO plugins, and
> change the clang driver to pass the option through in release builds.
> In asserts builds, the clang driver would not pass the option.
> This would match the way the driver passes -disable-llvm-verifier to
> -cc1.
> Everyone on board?

I would prefer to keep it on by default; in the cc1 case we know that the
input was immediately produced by clang (so we have a pretty high
confidence that it is correct), which is not the case in LTO.

The verifier should be pretty much the cheapest of all passes. If it is
taking 5%, then that means that we can be running a max of 20 passes, which
seems off (especially considering that some passes should be *enormously*
more expensive, like codegen). Is 5% a number you measured in a profiler or
an empirical difference when running with/without -disable-llvm-verifier?
Do you have a breakdown of where that 5% is coming from? Is the number
consistent across different programs (e.g. of different sizes)?

-- Sean Silva

> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150830/1ebd903e/attachment.html>

More information about the llvm-dev mailing list