r218141 - In the Itanium ABI, move stuff to the comdat of variables with static init.

David Majnemer david.majnemer at gmail.com
Thu Dec 18 14:30:11 PST 2014


On Wednesday, December 17, 2014, Richard Smith <richard at metafoo.co.uk>
wrote:

> On Wed, Dec 17, 2014 at 3:52 PM, Rafael EspĂ­ndola <
> rafael.espindola at gmail.com
> <javascript:_e(%7B%7D,'cvml','rafael.espindola at gmail.com');>> wrote:
>>
>> > Based on talking to David, we think the frontend should be responsible
>> for
>> > picking whether things are ODR or not, and then LLVM optimizations can
>> > continue to be mostly ignorant of comdats. For example, the D5
>> destructor
>> > comdat group functions should all be inlinable.
>>
>> +1 :-)
>>
>
> I think that makes a lot of sense. Does this imply that globals within a
> comdat would need to have some kind of weak linkage?
>

The only non-weak linkage we allow in COMDATs is external.  The closest
analog is weak_odr but it has subtly different semantics wrt duplicate
symbol definitions.

I'll try to dig up a concrete example as soon as I can get to my laptop.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20141218/dd3540de/attachment.html>


More information about the cfe-commits mailing list