[PATCH] D19000: Refactor the Internalize stage of libLTO in a separate file (NFC)
Duncan P. N. Exon Smith via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 12 12:09:21 PDT 2016
> On 2016-Apr-11, at 18:21, Mehdi AMINI <mehdi.amini at apple.com> wrote:
>
> joker.eph created this revision.
> joker.eph added a reviewer: dexonsmith.
> joker.eph added a subscriber: llvm-commits.
> Herald added a subscriber: joker.eph.
>
> This is intended to be shared by the ThinLTOCodeGenerator.
>
> Note that there is a change in the way the verifier is run, previously
> it was ran as a Pass on the merged module during internalization.
> While now the verifier is called explicitely on the merged module
> outside of the internalize "pass pipeline".
>
> What is strange in the API is the fact that `DisableVerify` in the API
> does not disable this initial verifier.
Just responding to why verification works this way:
In LTO, we are reading user-supplied bitcode files. Such IR should be
verified essentially all the time to validate it.
The `DisableVerify` flag controls extra verifier runs to catch compiler
bugs (i.e., beyond input validation).
>
> http://reviews.llvm.org/D19000
>
> Files:
> include/llvm/LTO/LTOCodeGenerator.h
> lib/LTO/CMakeLists.txt
> lib/LTO/LTOCodeGenerator.cpp
> lib/LTO/LTOInternalize.cpp
> lib/LTO/LTOInternalize.h
> test/LTO/X86/disable-verify.ll
>
> <D19000.53345.patch>
More information about the llvm-commits
mailing list