[llvm] r318777 - [ARM] Remove pre-UAL FLDM/FSTM aliases

Pengxuan Zheng via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 29 11:57:32 PST 2017


Hi Steve,

 

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.

 

https://reviews.llvm.org/D29050

 

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. :)

 

Thanks,

Pengxuan

 

From: Stephen Hines [mailto:srhines at google.com] 
Sent: Tuesday, November 28, 2017 3:02 PM
To: Pengxuan Zheng <pzheng at codeaurora.org>
Cc: Friedman, Eli <efriedma at codeaurora.org>; Oliver Stannard <Oliver.Stannard at arm.com>; llvm-commits at lists.llvm.org; Renato Golin (renato.golin at linaro.org) <renato.golin at linaro.org>; Saleem Abdulrasool <compnerd at compnerd.org>; Joerg Sonnenberger <joerg at britannica.bec.de>
Subject: Re: [llvm] r318777 - [ARM] Remove pre-UAL FLDM/FSTM aliases

 

 

 

On Tue, Nov 28, 2017 at 10:49 AM, Pengxuan Zheng <pzheng at codeaurora.org <mailto:pzheng at codeaurora.org> > wrote:

Hi Steve,

 

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.

 

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.

 

 

system/core/healthd/BatteryMonitor.cpp:166:13: error: comparison of unsigned enum expression < 0 is always false [-Werror,-Wtautological-unsigned-enum-zero-compare]

    if (ret < 0) {

        ~~~ ^ ~

 

 

system/nfc/src/nfc/include/tags_int.h:88:31: error: 'register' storage class specifier is deprecated and incompatible with C++17 [-Werror,-Wdeprecated-register]

extern unsigned int tags_log2(register unsigned int x);

                              ^~~~~~~~~

 

 

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,-Wnull-pointer-arithmetic]

  return static_cast<T>(static_cast<T>(0) + x);

                        ~~~~~~~~~~~~~~~~~ ^

external/v8/src/base/macros.h:275:10: note: in instantiation of function template specialization 'AddressFrom<unsigned char *>' requested here

  return AddressFrom<T>(OffsetFrom(x) & -m);

         ^

external/v8/src/base/macros.h:282:10: note: in instantiation of function template specialization 'RoundDown<unsigned char *>' requested here

  return RoundDown<T>(static_cast<T>(x + m - 1), m);

         ^

external/v8/src/base/platform/platform-linux.cc:226:27: note: in instantiation of function template specialization 'RoundUp<unsigned char *>' requested here

  uint8_t* aligned_base = RoundUp(base, alignment);

                          ^

 

 

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?

 

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?

 

Thanks,

Steve

 

 

Thanks,

Pengxuan

From: Stephen Hines [mailto:srhines at google.com <mailto:srhines at google.com> ] 
Sent: Monday, November 27, 2017 3:57 PM
To: Friedman, Eli <efriedma at codeaurora.org <mailto:efriedma at codeaurora.org> >
Cc: Oliver Stannard <Oliver.Stannard at arm.com <mailto:Oliver.Stannard at arm.com> >; llvm-commits at lists.llvm.org; renato.golin at linaro.org <mailto:renato.golin at linaro.org> ; Saleem Abdulrasool (compnerd at compnerd.org <mailto:compnerd at compnerd.org> ) <compnerd at compnerd.org <mailto:compnerd at compnerd.org> >; Joerg Sonnenberger (joerg at britannica.bec.de <mailto:joerg at britannica.bec.de> ) <joerg at britannica.bec.de <mailto:joerg at britannica.bec.de> >; Pengxuan Zheng <pzheng at codeaurora.org <mailto:pzheng at codeaurora.org> >


Subject: Re: [llvm] r318777 - [ARM] Remove pre-UAL FLDM/FSTM aliases

 

This source was actually removed back in October (https://android-review.googlesource.com/c/platform/frameworks/av/+/507575). 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.

 

Thanks,

Steve

 

On Mon, Nov 27, 2017 at 12:13 PM, Friedman, Eli <efriedma at codeaurora.org <mailto:efriedma at codeaurora.org> > wrote:

Not sure who the right contact is on the Android side; adding Stephen Hines.

In the meantime, we can hack up the source code on the bot, I guess... adding Pengxuan.

-Eli



On 11/23/2017 2:32 AM, Oliver Stannard wrote:

Hi Eli,

 

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.

 

Do you know who I should contact in AOSP about getting that code updated?

 

The alternative would be to revert this and keep these aliases, but I’d rather not do that for the reasons discussed in https://reviews.llvm.org/D39196.

 

Oliver

 

From: Friedman, Eli [mailto:efriedma at codeaurora.org] 
Sent: 22 November 2017 19:34
To: Oliver Stannard; llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org> 
Subject: Re: [llvm] r318777 - [ARM] Remove pre-UAL FLDM/FSTM aliases

 

On 11/21/2017 8:20 AM, Oliver Stannard via llvm-commits wrote:

Author: olista01
Date: Tue Nov 21 08:20:25 2017
New Revision: 318777
 
URL: http://llvm.org/viewvc/llvm-project?rev=318777 <http://llvm.org/viewvc/llvm-project?rev=318777&view=rev> &view=rev
Log:
[ARM] Remove pre-UAL FLDM/FSTM aliases
 
These are pre-UAL syntax, and we don't support any other pre-UAL instructions,
with the exception of FLDMX/FSTMX, which don't have a UAL equivalent. Therefore
there's no reason to keep them or their AsmParser hacks around.
 
With the AsmParser hacks removed, the FLDMX and FSTMX instructions get the same
operand diagnostics as the UAL instructions.
 
Differential revision: https://reviews.llvm.org/D39196


This is causing a failure on the polly AOSP buildbot (http://lab.llvm.org:8011/builders/aosp-O3-polly-before-vectorizer-unprofitable/builds/336/steps/build-aosp/logs/stdio).  Error message:

frameworks/av/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s:31:2: error: invalid instruction
        fstmfdd   sp!, {d8 - d15}
        ^

-Eli

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project

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. 

 

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171129/ee052649/attachment.html>


More information about the llvm-commits mailing list