<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.hoenzb
        {mso-style-name:hoenzb;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.m-7993290813151279682stdout
        {mso-style-name:m_-7993290813151279682stdout;}
span.EmailStyle23
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@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>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><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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>    if (ret < 0) {<o:p></o:p></p><p class=MsoNormal>        ~~~ ^ ~<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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>extern unsigned int tags_log2(register unsigned int x);<o:p></o:p></p><p class=MsoNormal>                              ^~~~~~~~~<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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>  return static_cast<T>(static_cast<T>(0) + x);<o:p></o:p></p><p class=MsoNormal>                        ~~~~~~~~~~~~~~~~~ ^<o:p></o:p></p><p class=MsoNormal>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>  return AddressFrom<T>(OffsetFrom(x) & -m);<o:p></o:p></p><p class=MsoNormal>         ^<o:p></o:p></p><p class=MsoNormal>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>  return RoundDown<T>(static_cast<T>(x + m - 1), m);<o:p></o:p></p><p class=MsoNormal>         ^<o:p></o:p></p><p class=MsoNormal>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>  uint8_t* aligned_base = RoundUp(base, alignment);<o:p></o:p></p><p class=MsoNormal>                          ^<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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><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><b>From:</b> Stephen Hines [mailto:srhines@google.com] <br><b>Sent:</b> Monday, November 27, 2017 3:57 PM<br><b>To:</b> Friedman, Eli <efriedma@codeaurora.org><br><b>Cc:</b> Oliver Stannard <Oliver.Stannard@arm.com>; llvm-commits@lists.llvm.org; renato.golin@linaro.org; Saleem Abdulrasool (compnerd@compnerd.org) <compnerd@compnerd.org>; Joerg Sonnenberger (joerg@britannica.bec.de) <joerg@britannica.bec.de>; Pengxuan Zheng <pzheng@codeaurora.org><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>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><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><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>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-right:0in'><div><div><p class=MsoNormal>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=hoenzb>-Eli</span></span><o:p></o:p></p><div><div><p class=MsoNormal><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:<br><br><o:p></o:p></p><pre><span class=m-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=m-7993290813151279682stdout><span style='font-size:13.5pt'>        fstmfdd   sp!, {d8 - d15}</span></span><o:p></o:p></pre><pre><span class=m-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>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><o:p> </o:p></p></div></div></body></html>