diff options
author | Itay Bookstein <ibookstein@gmail.com> | 2021-11-07 00:06:28 +0200 |
---|---|---|
committer | Itay Bookstein <ibookstein@gmail.com> | 2021-11-09 23:57:13 +0200 |
commit | 9efce0baee4bdda9d824716668ac3d3027bfa318 (patch) | |
tree | 91c6d1ee2fb03a87302527155cc91bc04416676c /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | 3b1fd19357be50cec8a5be8660806e0e02e84aa1 (diff) | |
download | llvm-9efce0baee4bdda9d824716668ac3d3027bfa318.zip llvm-9efce0baee4bdda9d824716668ac3d3027bfa318.tar.gz llvm-9efce0baee4bdda9d824716668ac3d3027bfa318.tar.bz2 |
[clang] Run LLVM Verifier in modes without CodeGen too
Previously, the Backend_Emit{Nothing,BC,LL} modes did
not run the LLVM verifier since it is usually added via
the TargetMachine::addPassesToEmitFile method according
to the DisableVerify parameter. This is called from
EmitAssemblyHelper::AddEmitPasses, which is only relevant
for BackendAction-s that require CodeGen.
Note:
* In these particular situations the verifier is added
to the optimization pipeline rather than the codegen
pipeline so that it runs prior to the BC/LL emission
pass.
* This change applies to both the old and the new PMs.
* Because the clang tests use -emit-llvm ubiquitously,
this change will enable the verifier for them.
* A small bug is fixed in emitIFuncDefinition so that
the clang/test/CodeGen/ifunc.c test would pass:
the emitIFuncDefinition incorrectly passed the
GlobalDecl of the IFunc itself to the call to
GetOrCreateLLVMFunction for creating the resolver.
Signed-off-by: Itay Bookstein <ibookstein@gmail.com>
Reviewed By: rjmccall
Differential Revision: https://reviews.llvm.org/D113352
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions