commit | 305a39140dd2b8c7f44f76b18ea44c869032ad7e | [log] [tgz] |
---|---|---|
author | Ellis Hoag <ellis.sparky.hoag@gmail.com> | Thu Jan 04 16:13:57 2024 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Jan 04 16:15:31 2024 -0800 |
tree | a48a463f819bd50e01ec33c42a166ba8b9dfc07b | |
parent | cf184d6fe9720835a08f63594039a874a2d79b75 [diff] |
[InstrProf] No linkage prefixes in IRPGO names (#76994) Change the format of IRPGO counter names to `[<filepath>;]<mangled-name>` which is computed by `GlobalValue::getGlobalIdentifier()` to fix #74565. In fe051934cbb0aaf25d960d7d45305135635d650b (https://reviews.llvm.org/D156569) the format of IRPGO counter names was changed to be `[<filepath>;]<linkage-name>` where `<linkage-name>` is basically `F.getName()` with some prefix, e.g., `_` or `l_` on Mach-O (yes, it is confusing that `<linkage-name>` is computed with `Mangler().getNameWithPrefix()` while `<mangled-name>` is just `F.getName()`). We discovered in #74565 that this causes some missed import issues on some targets and #74008 is a partial fix. Since `<mangled-name>` may not match the `<linkage-name>` on some targets like Mach-O, we will need to post-process the output of `llvm-profdata order` before passing to the linker via `-order_file`. Profiles generated after fe051934cbb0aaf25d960d7d45305135635d650b will become stale after this diff, but I think this is acceptable since that patch landed after the LLVM 18 cut which hasn't been released yet. GitOrigin-RevId: 9a2df55f47e4ec02a1efbf8efa776cfeed527df2
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
.