commit | 0b2c952e32aafe2f5bc97b44cd610abadeaab572 | [log] [tgz] |
---|---|---|
author | Jez Ng <jezng@fb.com> | Tue Jan 12 14:41:56 2021 -0500 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Jan 21 17:26:05 2021 -0800 |
tree | 680eda0df79c88c106bdc811d8042ab81e5d8e49 | |
parent | d0d07fd171a48de34454d1271befb1b06060560d [diff] |
[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 GitOrigin-RevId: 697f4e429b900d2d3d8a03713c7d6cd562a5bd35
This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.
lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.
In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.
It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz
The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f
.