<html xmlns:v="urn:schemas-microsoft-com:vml" 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="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;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">This was fixed in 6be9acd.  It looks like there’s something wrong with the bot’s configuration; it’s lagging over half a day behind master.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-Eli<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Galina Kistanova <gkistanova@gmail.com> <br>
<b>Sent:</b> Thursday, January 30, 2020 4:33 PM<br>
<b>To:</b> Eli Friedman <efriedma@quicinc.com>; Eli Friedman <llvmlistbot@llvm.org><br>
<b>Cc:</b> llvm-commits <llvm-commits@lists.llvm.org><br>
<b>Subject:</b> [EXT] Re: [llvm] a2fb2c0 - [GlobalMerge] Preserve symbol visibility when merging globals<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Hello Michael,<br>
<br>
This  commit broke test for the builder:<br>
<a href="http://lab.llvm.org:8011/builders/llvm-clang-win-x-aarch64/builds/3704">http://lab.llvm.org:8011/builders/llvm-clang-win-x-aarch64/builds/3704</a><br>
. . . <br>
Failing Tests (1):<br>
    LLVM :: CodeGen/AArch64/global-merge-hidden-minsize.ll<br>
<br>
Please have a look ASAP?<br>
<br>
Thanks<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Galina<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Tue, Jan 28, 2020 at 1:26 PM Eli Friedman via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
Author: Michael Spang<br>
Date: 2020-01-28T13:26:18-08:00<br>
New Revision: a2fb2c0ddca14c133f24d08af4a78b6a3d612ec6<br>
<br>
URL: <a href="https://github.com/llvm/llvm-project/commit/a2fb2c0ddca14c133f24d08af4a78b6a3d612ec6" target="_blank">
https://github.com/llvm/llvm-project/commit/a2fb2c0ddca14c133f24d08af4a78b6a3d612ec6</a><br>
DIFF: <a href="https://github.com/llvm/llvm-project/commit/a2fb2c0ddca14c133f24d08af4a78b6a3d612ec6.diff" target="_blank">
https://github.com/llvm/llvm-project/commit/a2fb2c0ddca14c133f24d08af4a78b6a3d612ec6.diff</a><br>
<br>
LOG: [GlobalMerge] Preserve symbol visibility when merging globals<br>
<br>
Symbols created for merged external global variables have default<br>
visibility. This can break programs when compiling with -Oz<br>
-fvisibility=hidden as symbols that should be hidden will be exported at<br>
link time.<br>
<br>
Differential Revision: <a href="https://reviews.llvm.org/D73235" target="_blank">
https://reviews.llvm.org/D73235</a><br>
<br>
Added: <br>
    llvm/test/CodeGen/AArch64/global-merge-hidden-minsize.ll<br>
<br>
Modified: <br>
    llvm/lib/CodeGen/GlobalMerge.cpp<br>
<br>
Removed: <br>
<br>
<br>
<br>
################################################################################<br>
diff  --git a/llvm/lib/CodeGen/GlobalMerge.cpp b/llvm/lib/CodeGen/GlobalMerge.cpp<br>
index 5870e20d4227..6e5593abb43e 100644<br>
--- a/llvm/lib/CodeGen/GlobalMerge.cpp<br>
+++ b/llvm/lib/CodeGen/GlobalMerge.cpp<br>
@@ -524,6 +524,7 @@ bool GlobalMerge::doMerge(const SmallVectorImpl<GlobalVariable *> &Globals,<br>
     for (ssize_t k = i, idx = 0; k != j; k = GlobalSet.find_next(k), ++idx) {<br>
       GlobalValue::LinkageTypes Linkage = Globals[k]->getLinkage();<br>
       std::string Name = Globals[k]->getName();<br>
+      GlobalValue::VisibilityTypes Visibility = Globals[k]->getVisibility();<br>
       GlobalValue::DLLStorageClassTypes DLLStorage =<br>
           Globals[k]->getDLLStorageClass();<br>
<br>
@@ -549,6 +550,7 @@ bool GlobalMerge::doMerge(const SmallVectorImpl<GlobalVariable *> &Globals,<br>
       if (Linkage != GlobalValue::InternalLinkage || !IsMachO) {<br>
         GlobalAlias *GA = GlobalAlias::create(Tys[StructIdxs[idx]], AddrSpace,<br>
                                               Linkage, Name, GEP, &M);<br>
+        GA->setVisibility(Visibility);<br>
         GA->setDLLStorageClass(DLLStorage);<br>
       }<br>
<br>
<br>
diff  --git a/llvm/test/CodeGen/AArch64/global-merge-hidden-minsize.ll b/llvm/test/CodeGen/AArch64/global-merge-hidden-minsize.ll<br>
new file mode 100644<br>
index 000000000000..25241ad2af8a<br>
--- /dev/null<br>
+++ b/llvm/test/CodeGen/AArch64/global-merge-hidden-minsize.ll<br>
@@ -0,0 +1,26 @@<br>
+; RUN: llc %s -mtriple=arm-none-linux-gnu -o - | FileCheck %s<br>
+; RUN: llc %s -mtriple=aarch64-none-linux-gnu -o - | FileCheck %s<br>
+<br>
+@x = hidden global i32 0, align 4<br>
+@y = hidden global i32 0, align 4<br>
+<br>
+define hidden void @f() #0 {<br>
+  store i32 0, i32* @x, align 4<br>
+  store i32 0, i32* @y, align 4<br>
+  ret void<br>
+}<br>
+<br>
+attributes #0 = { minsize optsize }<br>
+<br>
+; CHECK: .local .L_MergedGlobals<br>
+; CHECK: .comm .L_MergedGlobals,8,4<br>
+<br>
+; CHECK: .globl x<br>
+; CHECK: .hidden x<br>
+; CHECK: .set x, .L_MergedGlobals<br>
+; CHECK: .size x, 4<br>
+<br>
+; CHECK: .globl y<br>
+; CHECK: .hidden y<br>
+; CHECK: .set y, .L_MergedGlobals+4<br>
+; CHECK: .size y, 4<br>
<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</div>
</body>
</html>