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