[llvm] [BOLT][AArch64] Relax calls and branches with fragment clusters (PR #215825)

Adam Bzowski via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 22 05:13:35 PDT 2026


adam-bzowski-arm wrote:

I tested the newest version and I get the following crash on my chromium build:

```
BOLT-INFO: starting experimental relaxation pass
llvm-bolt: /home/adabzo01/llvm-project/bolt/lib/Passes/LongJmp.cpp:1435: void llvm::bolt::(anonymous namespace)::ClusteredRelaxation::collectOutOfRangeRefer
ences(): Assertion `IsCall && "expected call after branch-chain handling"' failed.
 #0 0x0000c57f04301224 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/adabzo01/llvm-project/build/bin/llvm-bolt+0x741224)
 #1 0x0000c57f042fe670 llvm::sys::RunSignalHandlers() (/home/adabzo01/llvm-project/build/bin/llvm-bolt+0x73e670)
 #2 0x0000c57f04301d84 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0x0000ee6a9ebf5a60 (linux-vdso.so.1+0xa60)
 #4 0x0000ee6a9e5b74d8 __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #5 0x0000ee6a9e56cb3c raise ./signal/../sysdeps/posix/raise.c:27:6
 #6 0x0000ee6a9e557e00 abort ./stdlib/abort.c:81:7
 #7 0x0000ee6a9e565cc0 __assert_fail_base ./assert/assert.c:93:7
 #8 0x0000ee6a9e565d30 __assert_perror_fail ./assert/assert-perr.c:31:1
 #9 0x0000c57f0456a8d0 llvm::bolt::(anonymous namespace)::ClusteredRelaxation::run() LongJmp.cpp:0:0
#10 0x0000c57f045668c0 llvm::bolt::LongJmpPass::relaxWithClusters(llvm::bolt::BinaryContext&) (/home/adabzo01/llvm-project/build/bin/llvm-bolt+0x9a68c0)
#11 0x0000c57f0456b134 llvm::bolt::LongJmpPass::runOnFunctions(llvm::bolt::BinaryContext&) (/home/adabzo01/llvm-project/build/bin/llvm-bolt+0x9ab134)
#12 0x0000c57f043efbac llvm::bolt::BinaryFunctionPassManager::runPasses()::$_0::operator()() const BinaryPassManager.cpp:0:0
#13 0x0000c57f043eb014 llvm::bolt::BinaryFunctionPassManager::runPasses() (/home/adabzo01/llvm-project/build/bin/llvm-bolt+0x82b014)
#14 0x0000c57f043ef8fc llvm::bolt::BinaryFunctionPassManager::runAllPasses(llvm::bolt::BinaryContext&) (/home/adabzo01/llvm-project/build/bin/llvm-bolt+0x82
f8fc)
#15 0x0000c57f04386b74 llvm::bolt::RewriteInstance::runOptimizationPasses() (/home/adabzo01/llvm-project/build/bin/llvm-bolt+0x7c6b74)
#16 0x0000c57f0437c560 llvm::bolt::RewriteInstance::run() (/home/adabzo01/llvm-project/build/bin/llvm-bolt+0x7bc560)
#17 0x0000c57f03cee388 main (/home/adabzo01/llvm-project/build/bin/llvm-bolt+0x12e388)
#18 0x0000ee6a9e5584c4 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#19 0x0000ee6a9e558598 call_init ./csu/../csu/libc-start.c:128:20
#20 0x0000ee6a9e558598 __libc_start_main ./csu/../csu/libc-start.c:347:5
#21 0x0000c57f03cecef0 _start (/home/adabzo01/llvm-project/build/bin/llvm-bolt+0x12cef0)
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0.      Program arguments: /home/adabzo01/llvm-project/build/bin/llvm-bolt /home/adabzo01/chromium/src/out/PGOPhase2Google/chrome --relocs --split-functions
 --split-all-cold --split-eh --lite=0 --data /home/adabzo01/tools/brbe/google.orig.skip-notes.fdata --reorder-blocks=ext-tsp --reorder-functions=hfsort --dy
no-stats --skip-funcs=^(prep_6tap_neon|put_8tap_neon|prep_8tap_neon|put_6tap_neon)(/[0-9]+)?$ --relax-exp -o /home/adabzo01/fix-relaxation/chrome.google.re$
ax-exp.bolt
Aborted (core dumped)
```

I can share the binary with @labrinea .

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


More information about the llvm-commits mailing list