[compiler-rt] r288777 - builtins: Add ARM Thumb1 implementation for uidiv and uidivmod

Zhao, Weiming via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 7 10:43:29 PST 2016


Agree. I think we need to

1) fix the CMake to support multiple targets. Currently, it uses armv7-a.

2) fix the test script. Currently, "check-all" only run lit tests. But 
builtins needs to run the Unit tests on QEMU or ARM platform. The 
current "test" script under Unit only works for Darwin.  The tricky part 
is, if you want to test the lib built for one arch (say armv6-m), then 
you need the matching libc/CRT. Otherwise, gnu ld will complain about 
mixing different arch profile, although there is not a real issue when 
running on QEMU.

3) have a script that builds and tests all arch variants.

Just my 2 cents.

Weiming

On 12/7/2016 10:09 AM, Renato Golin wrote:
> On 7 December 2016 at 17:47, Reid Kleckner via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
>> With this CL, we can no longer build compiler-rt with clang from XCode 7.0:
>> https://build.chromium.org/p/chromium.fyi/builders/ClangToTMac%20%28dbg%29/builds/7185/steps/gclient%20runhooks/logs/stdio
>>
>> FAILED:
>> lib/builtins/CMakeFiles/clang_rt.hard_pic_armv7em_macho_embedded.dir/arm/clzdi2.S.o
>> /Applications/Xcode7.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
>> ...
>> /b/c/b/ClangToTMac__dbg_/src/third_party/llvm/compiler-rt/lib/builtins/arm/clzdi2.S:58:2:
>> error: predicated instructions must be in IT block
>>   movne r0, r1
>>   ^
>> /b/c/b/ClangToTMac__dbg_/src/third_party/llvm/compiler-rt/lib/builtins/arm/clzdi2.S:60:2:
>> error: predicated instructions must be in IT block
>>   movne r1, 1
>>   ^
>> ...
>
> Sigh, something is terribly wrong with the way we test builtins...
>
> We really need to find a better way to validate before pushing code.
>
> --renato

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation



More information about the llvm-commits mailing list