[llvm-dev] ThinLTO and linkonce_odr + unnamed_addr

Steven Wu via llvm-dev llvm-dev at lists.llvm.org
Fri Feb 9 12:04:52 PST 2018

I agree with your analysis. I will do the GlobalOpts part as well. The current fix in thinLTO is still good to have for the input that doesn’t have this optimization and I will argue to keep it.


> On Feb 9, 2018, at 11:49 AM, Rafael Avila de Espindola <rafael.espindola at gmail.com> wrote:
> Steven Wu <stevenwu at apple.com> writes:
>> Add Rafael here. Because he basically ask me the same question in my commit.
>> I wonder why clang choose to do unnamed_addr instead of just do visibility hidden. If linkonce_odr + unnamed_addr is just hidden, is the only difference linkonce_odr + unnamed_addr not in the symbol table?
> A local symbol being in the symbol table is mostly an implementation
> detail.
> Not marking a linkonce_odr + *global* unnamed_addr hidden is a missing
> optimization on non-MachO.
> Cheers,
> Rafael

More information about the llvm-dev mailing list