[llvm] [BOLT][AArch64] Preserve tail-call annotation on local trampolines (PR #228105)

Adam Bzowski via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 2 13:51:17 PDT 2026


adam-bzowski-arm wrote:

This fixes tail-call trampolines, but the same path can also create trampolines for external branches introduced by #227275. Their `ExternalBranch` annotation should be propagated too.

Additionally, `SymbolTrampolines` is keyed only by target symbol. A tail call and an external branch to the same target could therefore reuse one trampoline. The unsafe case is an external branch reusing a tail-call trampoline, allowing an `x16`/`x17`-clobbering long thunk. The cache should also distinguish the exit classification, or use separate maps.

https://github.com/llvm/llvm-project/pull/228105


More information about the llvm-commits mailing list