llvm-capstone/bolt/test
Job Noorman 1cf2599a64 [BOLT] Prevent adding secondary entry points for BB labels
When linker relaxation is enabled on RISC-V, every branch has a relocation and a
corresponding symbol in the symbol table. BOLT currently registers all these
symbols as secondary entry points causing almost every function to be marked as
multi entry on RISC-V.

This patch modifies `adjustFunctionBoundaries` to ignore these symbols.
Note that I currently try to detect them by checking if a symbol's name
starts with the private label prefix as defined by `MCAsmInfo`. Since
I'm not entirely sure what multi-entry functions look like on different
targets, please check if this condition is correct. Maybe it could make
sense to only check this on RISC-V?

Reviewed By: maksfb

Differential Revision: https://reviews.llvm.org/D159285
2023-09-12 13:44:56 +02:00
..
AArch64 [BOLT] Implement createRelocation for AArch64 2023-08-23 00:53:32 +08:00
Inputs [BOLT] Add writable segment for allocatable sections 2023-03-15 00:06:55 +04:00
RISCV [BOLT] Prevent adding secondary entry points for BB labels 2023-09-12 13:44:56 +02:00
runtime [BOLT][test] Fix cross-compilation tests after D151920 2023-09-08 00:05:39 +03:00
Unit [NFC][Py Reformat] Reformat python files in the rest of the dirs 2023-05-25 11:17:05 +02:00
X86 [bolt][X86] Correct 2 test RUN lines (#65252) 2023-09-08 08:42:45 +01:00
bad-exe.test [BOLT] Restrict execution of tests that fail on Windows 2022-07-11 17:59:58 -07:00
bolt-icf.test [BOLT][TEST] Use double dash flags in tests 2022-06-10 16:27:33 -07:00
bolt-info.test [BOLT] Restrict execution of tests that fail on Windows 2022-07-11 17:59:58 -07:00
cache+-deprecated.test [BOLT][TEST] Use double dash flags in tests 2022-06-10 16:27:33 -07:00
CMakeLists.txt [BOLT][CMake] Redo the build and install targets 2023-06-01 14:48:01 +00:00
heatmap.test [BOLT] Refactor heatmap to be standalone tool 2022-02-07 22:00:44 +03:00
invalid-profile.test [BOLT] Restrict execution of tests that fail on Windows 2022-07-11 17:59:58 -07:00
keep-aranges.test [BOLT][TEST] Use double dash flags in tests 2022-06-10 16:27:33 -07:00
link_fdata.py [NFC][Py Reformat] Reformat python files in the rest of the dirs 2023-05-25 11:17:05 +02:00
lit.cfg.py [BOLT][Instrumentation] Add test for append-pid option 2023-08-23 23:50:32 +03:00
lit.local.cfg [NFC][Py Reformat] Reformat python files in the rest of the dirs 2023-05-25 11:17:05 +02:00
lit.site.cfg.py.in [BOLT] Add BOLT_TARGETS_TO_BUILD 2023-04-21 13:07:04 -04:00
max-funcs.test [BOLT] Fix --max-funcs=<N> option 2023-06-12 16:54:14 -07:00
no-relocs.test [BOLT] Restrict execution of tests that fail on Windows 2022-07-11 17:59:58 -07:00
non-empty-debug-line.test [BOLT][TEST] Use double dash flags in tests 2022-06-10 16:27:33 -07:00
pie.test [BOLT] Restrict execution of tests that fail on Windows 2022-07-11 17:59:58 -07:00
R_ABS.pic.lld.cpp [BOLT] Restrict execution of tests that fail on Windows 2022-07-11 17:59:58 -07:00
re-optimize.test [BOLT] Restrict execution of tests that fail on Windows 2022-07-11 17:59:58 -07:00
reorder-data-writable-ptload.c [BOLT] Add writable segment for allocatable sections 2023-03-15 00:06:55 +04:00
shared-object.test [BOLT] Restrict execution of tests that fail on Windows 2022-07-11 17:59:58 -07:00
unreadable-profile.test [BOLT] Handle access errors while reading profile 2022-12-07 17:11:30 -08:00
yaml-profile-kind.c [BOLT] Add blocks order kind to YAML profile header 2023-07-24 21:33:05 -07:00