<div dir="ltr">ping</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 28, 2014 at 1:36 PM, Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" target="_blank">rnk@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">ping</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">
On Thu, Apr 24, 2014 at 5:53 PM, Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" target="_blank">rnk@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi nicholas, nlewycky,<br>
<br>
This allows us to put dynamic initializers for weak data into the same<br>
comdat group as the data being initialized.  This is necessary for MSVC<br>
ABI compatibility.  It should also allow GlobalOpt to fire more often<br>
weak data on other platforms if we can sort out the initialization of<br>
the guard variable.<br>
<br>
<a href="http://reviews.llvm.org/D3499" target="_blank">http://reviews.llvm.org/D3499</a><br>
<br>
Files:<br>
  docs/LangRef.rst<br>
  include/llvm/CodeGen/TargetLoweringObjectFileImpl.h<br>
  include/llvm/Target/TargetLoweringObjectFile.h<br>
  lib/CodeGen/AsmPrinter/AsmPrinter.cpp<br>
  lib/CodeGen/TargetLoweringObjectFileImpl.cpp<br>
  lib/IR/Verifier.cpp<br>
  lib/Transforms/IPO/GlobalOpt.cpp<br>
  test/MC/COFF/global_ctors_dtors.ll<br>
  test/Transforms/GlobalOpt/ctor-list-opt.ll<br>
  test/Verifier/global-ctors.ll<br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>