[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