llvm/tools/lto
Duncan P. N. Exon Smith b0d872aece LTO: Disable extra verify runs in release builds
The verifier currently runs three times in LTO: (1) after parsing, (2)
at the beginning of the optimization pipeline, and (3) at the end of it.

The first run is important, since we're not sure where the bitcode comes
from and it's nice to validate it, but in release builds the extra runs
aren't appropriate.

This commit:
  - Allows these runs to be disabled in LTOCodeGenerator.
  - Adds command-line options to llvm-lto.
  - Adds command-line options to libLTO.dylib, and disables the verifier
    by default in release builds (based on NDEBUG).

This shaves about 3.5% off the runtime of ld64 when linking
verify-uselistorder with -flto -g.

rdar://22509081

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247729 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-15 22:26:11 +00:00
..
CMakeLists.txt add missing dependency on Target lib for tools 2015-06-03 19:07:51 +00:00
lto.cpp LTO: Disable extra verify runs in release builds 2015-09-15 22:26:11 +00:00
lto.exports lto: Clean up C libLTO interfaces pertaining to linker flags. 2015-06-29 23:09:12 +00:00
LTODisassembler.cpp
Makefile