teresajohnson wrote:

Generally for linkonce_odr defs we convert one copy (the one identified by the 
linker as prevailing) to weak_odr so that it is kept, and the rest to 
available_externally so that they are dropped after inlining.

The case referenced in the earlier comment kicks in which should only happen in 
very limited situations: there is a single copy. I see in the linked bug that 
this is a shared library, so there is a single copy, but I would have thought 
that the earlier analysis in LTO that feeds into the IsExported callback would 
indicate this as exported based on the info we get from the linker. I'll need 
to look at what is happening there, I should have time for a quick look today.

https://github.com/llvm/llvm-project/pull/197855
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to