1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/lib/LTO
Jez Ng 248ae4d5bc [lld-macho] Run ObjCContractPass during LTO
Run the ObjCARCContractPass during LTO. The legacy LTO backend (under
LTO/ThinLTOCodeGenerator.cpp) already does this; this diff just adds that
behavior to the new LTO backend. Without that pass, the objc.clang.arc.use
intrinsic will get passed to the instruction selector, which doesn't know how to
handle it.

In order to test both the new and old pass managers, I've also added support for
the `--[no-]lto-legacy-pass-manager` flags.

P.S. Not sure if the ordering of the pass within the pipeline matters...

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D94547
2021-01-20 14:21:32 -05:00
..
Caching.cpp [NFC] Reduce include files dependency and AA header cleanup (part 2). 2020-12-17 14:04:48 +03:00
CMakeLists.txt llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
LTO.cpp [Remarks][1/2] Expand remarks hotness threshold option support in more tools 2020-11-30 21:55:49 -08:00
LTOBackend.cpp [lld-macho] Run ObjCContractPass during LTO 2021-01-20 14:21:32 -05:00
LTOCodeGenerator.cpp [LTO] Remove options to disable inlining, vectorization & GVNLoadPRE. 2021-01-16 16:29:15 +00:00
LTOModule.cpp [Triple][MachO] Define "arm64e", an AArch64 subarch for Pointer Auth. 2020-12-03 07:53:59 -08:00
SummaryBasedOptimizations.cpp
ThinLTOCodeGenerator.cpp [Remarks][1/2] Expand remarks hotness threshold option support in more tools 2020-11-30 21:55:49 -08:00
UpdateCompilerUsed.cpp TargetLowering.h - remove unnecessary TargetMachine.h include. NFC 2020-05-23 19:49:38 +01:00