<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;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 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;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.m4160784323149285656hoenzb
        {mso-style-name:m_4160784323149285656hoenzb;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.m4160784323149285656m-7993290813151279682stdout
        {mso-style-name:m_4160784323149285656m-7993290813151279682stdout;}
span.EmailStyle23
        {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>Hi Steve,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>You can refer to the following patch to get the build recipe for LLVM and how to patch AOSP to enable building AOSP with non-AOSP-version Clang. I actually posted the local patch I used in one of the comments. I believe most of the errors are front-end errors which you can probably reproduce with any recent LLVM build.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>https://reviews.llvm.org/D29050<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>There is only one bot (build slave) for the AOSP builder currently and we do not have any plan to increase the number of build slaves. So, yes, it is literally a single bot. :)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,<o:p></o:p></p><p class=MsoNormal>Pengxuan<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>From:</b> Stephen Hines [mailto:srhines@google.com] <br><b>Sent:</b> Tuesday, November 28, 2017 3:02 PM<br><b>To:</b> Pengxuan Zheng <pzheng@codeaurora.org><br><b>Cc:</b> Friedman, Eli <efriedma@codeaurora.org>; Oliver Stannard <Oliver.Stannard@arm.com>; llvm-commits@lists.llvm.org; Renato Golin (renato.golin@linaro.org) <renato.golin@linaro.org>; Saleem Abdulrasool <compnerd@compnerd.org>; Joerg Sonnenberger <joerg@britannica.bec.de><br><b>Subject:</b> Re: [llvm] r318777 - [ARM] Remove pre-UAL FLDM/FSTM aliases<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On Tue, Nov 28, 2017 at 10:49 AM, Pengxuan Zheng <<a href="mailto:pzheng@codeaurora.org" target="_blank">pzheng@codeaurora.org</a>> wrote:<o:p></o:p></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Hi Steve,<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Actually, I have observed quite a few front end errors (warnings) when building AOSP master with the tip of LLVM. Not sure if it is a good time to update the AOSP sources on the bot now. Maybe you can help fix some of these errors in AOSP? Here are a few, for example.<o:p></o:p></p></div></div></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I can take care of fixing these kinds of errors. Can you point me to where the build/test script is for the bot? I want to make sure that we can reproduce that environment exactly, or we will have a hard time catching up on all the errors.<o:p></o:p></p></div><div><p class=MsoNormal> <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'><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>system/core/healthd/BatteryMonitor.cpp:166:13: error: comparison of unsigned enum expression < 0 is always false [-Werror,-<span style='color:red'>Wtautological-unsigned-enum-zero-compare</span>]<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>    if (ret < 0) {<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>        ~~~ ^ ~<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>system/nfc/src/nfc/include/tags_int.h:88:31: error: 'register' storage class specifier is deprecated and incompatible with C++17 [-Werror,-<span style='color:red'>Wdeprecated-register</span>]<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>extern unsigned int tags_log2(register unsigned int x);<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                              ^~~~~~~~~<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>external/v8/src/base/macros.h:267:43: error: arithmetic on a null pointer treated as a cast from integer to pointer is a GNU extension [-Werror,-<span style='color:red'>Wnull-pointer-arithmetic</span>]<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>  return static_cast<T>(static_cast<T>(0) + x);<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                        ~~~~~~~~~~~~~~~~~ ^<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>external/v8/src/base/macros.h:275:10: note: in instantiation of function template specialization 'AddressFrom<unsigned char *>' requested here<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>  return AddressFrom<T>(OffsetFrom(x) & -m);<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>         ^<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>external/v8/src/base/macros.h:282:10: note: in instantiation of function template specialization 'RoundDown<unsigned char *>' requested here<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>  return RoundDown<T>(static_cast<T>(x + m - 1), m);<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>         ^<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>external/v8/src/base/platform/platform-linux.cc:226:27: note: in instantiation of function template specialization 'RoundUp<unsigned char *>' requested here<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>  uint8_t* aligned_base = RoundUp(base, alignment);<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                          ^<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>For now, we can probably fix the “invalid instruction” error in the source code on the bot. Oliver, do you have a patch that we can apply to fix the error?<o:p></o:p></p></div></div></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>One problem with locally patching this is going to be how we can move forward later on with updating those projects. Is this literally only a single bot or are there multiple instances using the same sources to build?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Thanks,<o:p></o:p></p></div><div><p class=MsoNormal>Steve<o:p></o:p></p></div><div><p class=MsoNormal> <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'><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Thanks,<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Pengxuan<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b>From:</b> Stephen Hines [mailto:<a href="mailto:srhines@google.com" target="_blank">srhines@google.com</a>] <br><b>Sent:</b> Monday, November 27, 2017 3:57 PM<br><b>To:</b> Friedman, Eli <<a href="mailto:efriedma@codeaurora.org" target="_blank">efriedma@codeaurora.org</a>><br><b>Cc:</b> Oliver Stannard <<a href="mailto:Oliver.Stannard@arm.com" target="_blank">Oliver.Stannard@arm.com</a>>; <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>; <a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>; Saleem Abdulrasool (<a href="mailto:compnerd@compnerd.org" target="_blank">compnerd@compnerd.org</a>) <<a href="mailto:compnerd@compnerd.org" target="_blank">compnerd@compnerd.org</a>>; Joerg Sonnenberger (<a href="mailto:joerg@britannica.bec.de" target="_blank">joerg@britannica.bec.de</a>) <<a href="mailto:joerg@britannica.bec.de" target="_blank">joerg@britannica.bec.de</a>>; Pengxuan Zheng <<a href="mailto:pzheng@codeaurora.org" target="_blank">pzheng@codeaurora.org</a>><o:p></o:p></p><div><div><p class=MsoNormal><br><b>Subject:</b> Re: [llvm] r318777 - [ARM] Remove pre-UAL FLDM/FSTM aliases<o:p></o:p></p></div></div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>This source was actually removed back in October (<a href="https://android-review.googlesource.com/c/platform/frameworks/av/+/507575" target="_blank">https://android-review.googlesource.com/c/platform/frameworks/av/+/507575</a>). I think it might perhaps be time to upgrade the AOSP sources that the bots are using. Pengxuan, is this something that you can handle? aosp/master should be quite stable these days. I can help if you let me know about any problems you encounter.<o:p></o:p></p><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Thanks,<o:p></o:p></p></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Steve<o:p></o:p></p></div></div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>On Mon, Nov 27, 2017 at 12:13 PM, Friedman, Eli <<a href="mailto:efriedma@codeaurora.org" target="_blank">efriedma@codeaurora.org</a>> wrote:<o:p></o:p></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt'><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Not sure who the right contact is on the Android side; adding Stephen Hines.<br><br>In the meantime, we can hack up the source code on the bot, I guess... adding Pengxuan.<span style='color:#888888'><br><br><span class=m4160784323149285656hoenzb>-Eli</span></span><o:p></o:p></p><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><br><br>On 11/23/2017 2:32 AM, Oliver Stannard wrote:<o:p></o:p></p></div></div></div><div><div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='color:#1F497D'>Hi Eli,</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='color:#1F497D'>The instructions that are failing in the build are the ones that I removed support for in this patch. They are pre-UAL syntax, and we don’t support this generally, so I think the long-term solution is to fix the code to use the UAL syntax instead.</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='color:#1F497D'>Do you know who I should contact in AOSP about getting that code updated?</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='color:#1F497D'>The alternative would be to revert this and keep these aliases, but I’d rather not do that for the reasons discussed in <a href="https://reviews.llvm.org/D39196" target="_blank">https://reviews.llvm.org/D39196</a>.</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='color:#1F497D'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='color:#1F497D'>Oliver</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='color:#1F497D'> </span><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 #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span style='font-size:10.0pt;font-family:"Tahoma",sans-serif'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma",sans-serif'> Friedman, Eli [<a href="mailto:efriedma@codeaurora.org" target="_blank">mailto:efriedma@codeaurora.org</a>] <br><b>Sent:</b> 22 November 2017 19:34<br><b>To:</b> Oliver Stannard; <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br><b>Subject:</b> Re: [llvm] r318777 - [ARM] Remove pre-UAL FLDM/FSTM aliases</span><o:p></o:p></p></div></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>On 11/21/2017 8:20 AM, Oliver Stannard via llvm-commits wrote:<o:p></o:p></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><pre>Author: olista01<o:p></o:p></pre><pre>Date: Tue Nov 21 08:20:25 2017<o:p></o:p></pre><pre>New Revision: 318777<o:p></o:p></pre><pre> <o:p></o:p></pre><pre>URL: <a href="http://llvm.org/viewvc/llvm-project?rev=318777&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=318777&view=rev</a><o:p></o:p></pre><pre>Log:<o:p></o:p></pre><pre>[ARM] Remove pre-UAL FLDM/FSTM aliases<o:p></o:p></pre><pre> <o:p></o:p></pre><pre>These are pre-UAL syntax, and we don't support any other pre-UAL instructions,<o:p></o:p></pre><pre>with the exception of FLDMX/FSTMX, which don't have a UAL equivalent. Therefore<o:p></o:p></pre><pre>there's no reason to keep them or their AsmParser hacks around.<o:p></o:p></pre><pre> <o:p></o:p></pre><pre>With the AsmParser hacks removed, the FLDMX and FSTMX instructions get the same<o:p></o:p></pre><pre>operand diagnostics as the UAL instructions.<o:p></o:p></pre><pre> <o:p></o:p></pre><pre>Differential revision: <a href="https://reviews.llvm.org/D39196" target="_blank">https://reviews.llvm.org/D39196</a><o:p></o:p></pre></blockquote><p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'><br>This is causing a failure on the polly AOSP buildbot (<a href="http://lab.llvm.org:8011/builders/aosp-O3-polly-before-vectorizer-unprofitable/builds/336/steps/build-aosp/logs/stdio" target="_blank">http://lab.llvm.org:8011/builders/aosp-O3-polly-before-vectorizer-unprofitable/builds/336/steps/build-aosp/logs/stdio</a>).  Error message:<o:p></o:p></p><pre><span class=m4160784323149285656m-7993290813151279682stdout><span style='font-size:13.5pt'>frameworks/av/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s:31:2: error: invalid instruction</span></span><o:p></o:p></pre><pre><span class=m4160784323149285656m-7993290813151279682stdout><span style='font-size:13.5pt'>        fstmfdd   sp!, {d8 - d15}</span></span><o:p></o:p></pre><pre><span class=m4160784323149285656m-7993290813151279682stdout><span style='font-size:13.5pt'>        ^</span></span><o:p></o:p></pre><p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'>-Eli<o:p></o:p></p><pre>-- <o:p></o:p></pre><pre>Employee of Qualcomm Innovation Center, Inc.<o:p></o:p></pre><pre>Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project<o:p></o:p></pre></div></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. <o:p></o:p></p></blockquote><p> <o:p></o:p></p><pre>-- <o:p></o:p></pre><pre>Employee of Qualcomm Innovation Center, Inc.<o:p></o:p></pre><pre>Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project<o:p></o:p></pre></div></div></div></blockquote></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div></div></div></div></div></blockquote></div><p class=MsoNormal><o:p> </o:p></p></div></div></div></body></html>