<br><br>On Sunday, December 6, 2015, Rafael Espíndola <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Looking at how unique appending linkage handling is I started<br>
wondering if we still need it at all.<br>
<br>
Now that we have sections, private linkage and comdats, I don't think we do.<br>
<br>
Things like<br>
<br>
 @llvm.global_ctors = ... { i32 A1, i32 B1, i8* C1 }, { i32 A2, i32 B2, i8* C2 }<br>
<br>
can be represented as<br>
<br>
@ctor1 = private ... { i32 A1, i32 B1 }, section<br>
"llvm.metadata.ctors", comdat $(comdat of C1).<br>
@ctor2 = private ... { i32 A2, i32 B2 }, section<br>
"llvm.metadata.ctors", comdat $(comdat of C2).</blockquote><div><br></div><div>This wouldn't work on Mach-O because it doesn't have COMDATs.</div><div><br></div><div>Sorry for the brevity, sent from my phone.<span></span></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Which has a few advantages:<br>
<br>
* It links just like every other IR.<br>
* It representation matches what is actually done in the object file.<br>
Currently the representation has different meaning if C is not in a<br>
comdat.<br>
<br>
Cheers,<br>
Rafael<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'llvm-commits@lists.llvm.org')">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote>