https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106725
--- Comment #4 from Daniel Thornburgh <dthorn at google dot com> --- (In reply to rguent...@suse.de from comment #3) > As said, GCC shouldn't assume this since leaf is defined at translation > unit level, not at LTO level. Sure, but what prevents GCC from making this assumption? Are all uses of leaf evaluated before the TUs are merged? Does GCC have some provenance tracking for which TU a given function came from in the merged view? Is there a pass I missed to drop leaf after merging but before it's used?