On Wed, Aug 27, 2025 at 03:52:11PM +0200, Michal Jires wrote: > This new pass heuristically detects symbols referenced by toplevel > assembly to prevent their optimization. > > Heuristics is done by comparing identifiers in assembly to known > symbols. > > The pass is split into 2 passes, in LGEN and in WPA. > There must be one pass for WPA to be able to reference any symbol. > However in WPA there may be multiple symbols with the same name, > so we handle those local symbols in LGEN.
Why the heuristics when in GCC 15+ toplevel assembly can express those exactly? It has missing LTO support, but otherwise it is there, see https://gcc.gnu.org/gcc-15/changes.html#c-family I thought in Linux kernel there are just a couple of toplevel asms that would need tweaking... Jakub
