[all-commits] [llvm/llvm-project] 1e4ee5: [BOLT] Accept function start as valid jump table e...
maksfb via All-commits
all-commits at lists.llvm.org
Wed Jul 26 13:25:36 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1e4ee588fbb5047a82dd33c4357fcfdebaf38bab
https://github.com/llvm/llvm-project/commit/1e4ee588fbb5047a82dd33c4357fcfdebaf38bab
Author: Maksim Panchenko <maks at fb.com>
Date: 2023-07-26 (Wed, 26 Jul 2023)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
A bolt/test/X86/jump-table-func-entry.s
Log Message:
-----------
[BOLT] Accept function start as valid jump table entry
Jump tables may contain a function start address. One real-world example
is when a target basic block contains a recursive tail call that is
later optimized/folded into a jump table target.
While analyzing a jump table, we treat start address similar to an
address past the end of the containing function (a result of
__builtin_unreachable), i.e. we require another "regular" entry for the
heuristic to proceed.
Reviewed By: Amir
Differential Revision: https://reviews.llvm.org/D156206
More information about the All-commits
mailing list