<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Title" content="">
<meta name="Keywords" content="">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.msoIns
        {mso-style-type:export-only;
        mso-style-name:"";
        text-decoration:underline;
        color:teal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Thanks, r323688.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-left:.5in"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">Rafael Avila de Espindola <rafael.espindola@gmail.com><br>
<b>Date: </b>Monday, January 29, 2018 at 11:05 AM<br>
<b>To: </b>Shoaib Meenai <smeenai@fb.com>, "llvm-commits@lists.llvm.org" <llvm-commits@lists.llvm.org><br>
<b>Subject: </b>Re: [llvm] r323483 - [CodeGen] Ignore private symbols in llvm.used for COFF<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Shoaib Meenai via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> writes:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<blockquote style="border:none;border-left:solid #B5C4DF 4.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-right:0in" id="MAC_OUTLOOK_ATTRIBUTION_BLOCKQUOTE">
<div>
<p class="MsoNormal" style="margin-left:.5in">Author: smeenai<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Date: Thu Jan 25 16:15:25 2018<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">New Revision: 323483<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D323483-26view-3Drev&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=43BC3bbidVSrHNCsoMZ0AtXiAUTWiP_HYzw0e2CKYk8&s=hVQ1qXhzycyss-wUn9tLDqKrnaIgUpMYce_Awh3Ip1I&e=">
https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D323483-26view-3Drev&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=43BC3bbidVSrHNCsoMZ0AtXiAUTWiP_HYzw0e2CKYk8&s=hVQ1qXhzycyss-wUn9tLDqKrnaIgUpMYce_Awh3Ip1I&e=</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Log:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">[CodeGen] Ignore private symbols in llvm.used for COFF<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Similar to the existing handling for internal symbols, private symbols<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">are also not visible to the linker and should be ignored.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Modified:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">     llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">     llvm/trunk/test/CodeGen/X86/coff-no-dead-strip.ll<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Modified: llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_CodeGen_AsmPrinter_AsmPrinter.cpp-3Frev-3D323483-26r1-3D323482-26r2-3D323483-26view-3Ddiff&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=43BC3bbidVSrHNCsoMZ0AtXiAUTWiP_HYzw0e2CKYk8&s=9pyP1hzmLGjKQl6NOI_u88i4JkAlKMmDSfZgyaAjX24&e=">
https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_CodeGen_AsmPrinter_AsmPrinter.cpp-3Frev-3D323483-26r1-3D323482-26r2-3D323483-26view-3Ddiff&d=DwIBAg&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=43BC3bbidVSrHNCsoMZ0AtXiAUTWiP_HYzw0e2CKYk8&s=9pyP1hzmLGjKQl6NOI_u88i4JkAlKMmDSfZgyaAjX24&e=</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">==============================================================================<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">--- llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp (original)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">+++ llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp Thu Jan 25 16:15:25 2018<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">@@ -1456,10 +1456,10 @@ bool AsmPrinter::doFinalization(Module &<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">          for (const Value *Op : A->operands()) {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">            const auto *GV =<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">                cast<GlobalValue>(Op->stripPointerCastsNoFollowAliases());<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">-          // Global symbols with internal linkage are not visible to the linker,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">-          // and thus would cause an error when the linker tried to preserve the<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">-          // symbol due to the `/include:` directive.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">-          if (GV->hasInternalLinkage())<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">+          // Global symbols with internal or private linkage are not visible to<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">+          // the linker, and thus would cause an error when the linker tried to<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">+          // preserve the symbol due to the `/include:` directive.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">+          if (GV->hasInternalLinkage() || GV->hasPrivateLinkage())<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">              continue;<o:p></o:p></p>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Than is hasLocalLinkage().<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Cheers,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Rafael<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
</div>
</div>
</body>
</html>