[llvm] r337385 - ARM: switch armv7em triple to hard-float defaults and libcalls.

Friedman, Eli via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 18 13:22:21 PDT 2018


On 7/18/2018 5:37 AM, Tim Northover via llvm-commits wrote:
> Author: tnorthover
> Date: Wed Jul 18 05:37:04 2018
> New Revision: 337385
>
> URL: http://llvm.org/viewvc/llvm-project?rev=337385&view=rev
> Log:
> ARM: switch armv7em triple to hard-float defaults and libcalls.
>
> We were emitting incorrect calls to libm functions that LLVM had decided it
> knew about because the default is soft-float.
>
> Added:
>      llvm/trunk/test/CodeGen/ARM/macho-embedded-float.ll
> Modified:
>      llvm/trunk/lib/Target/ARM/ARMTargetMachine.h
>      llvm/trunk/test/CodeGen/ARM/darwin-eabi.ll
>
> Modified: llvm/trunk/lib/Target/ARM/ARMTargetMachine.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMTargetMachine.h?rev=337385&r1=337384&r2=337385&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/ARM/ARMTargetMachine.h (original)
> +++ llvm/trunk/lib/Target/ARM/ARMTargetMachine.h Wed Jul 18 05:37:04 2018
> @@ -66,6 +66,7 @@ public:
>       return TargetTriple.getEnvironment() == Triple::GNUEABIHF ||
>              TargetTriple.getEnvironment() == Triple::MuslEABIHF ||
>              TargetTriple.getEnvironment() == Triple::EABIHF ||
> +           TargetTriple.getSubArch() == Triple::ARMSubArch_v7em ||

Please revert this.  v7em doesn't imply the target has an FPU, and even 
if it did we shouldn't be messing with the ABI based on the target CPU.  
(If you want to do something weird for MachO targets, that's okay, but 
this change affects ELF targets too.)

-Eli

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



More information about the llvm-commits mailing list