[llvm-commits] patch: teach deadargelim to work on externally visible functions!

Rafael Espindola espindola at google.com
Sun Jan 10 20:59:34 PST 2010


> Correct . It is a very expensive feature :-(

Thinking a bit about it. Probably the best way to fix this is

*) Add the "strong but overridable" linkage you proposed.
*) Generate that linkage on ELF if the visibility is not hidden or protected
*) As an extension, add a
protected-and-dont-care-about-pointer-compare that would be similar to
the current state but drop the @PLT
*) Consider making protected-and-dont-care-about-pointer-compare the
default. That would improve out of the box performance of ELF DSOs (as
compared to gcc) and the user could always use
__attribute__((visibility ("default"))) or -fvisibility=default.

How does this work on Darwin btw? Function pointers are not guaranteed
to compare when crossing shared library boundaries?

Cheers,
-- 
Rafael Ávila de Espíndola




More information about the llvm-commits mailing list