[llvm] [BOLT] Correctly handle entry point at FDE boundaries (PR #176173)
Elvina Yakubova via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 3 02:50:44 PST 2026
ElvinaYakubova wrote:
Sorry for the delayed reply — I was trying to get more information about the compiler flags that were used. This is an internal library, so I can’t share the code. I noticed that with the newer version of the library, the failure is gone, but I still don’t know which flags were used initially. From what I can tell, some of the problematic functions are no longer being inlined.
In the previous version of the library, we had a jump from the .init function to somewhere in the middle of a large function. Just before that address, there was an FDE record that BOLT couldn’t handle correctly. In the current version, this FDE record is marked, so BOLT can detect the symbol name and handle it properly. Also, the jump from .init now goes to the separate function, which helps BOLT detect the boundaries correctly.
Thanks for the clarification, I see your point now.
> If you want to rewrite code at .Linlined_code you have to make it part of some function.
Do you think marking such cases as a new function is a good solution, or should we simply not allow BOLT to handle them?
https://github.com/llvm/llvm-project/pull/176173
More information about the llvm-commits
mailing list