Commit Graph

7 Commits

Author SHA1 Message Date
John Brawn ba60de5250 Use -### in arm-float-abi.c test
This is needed to prevent the test from failing when llvm is
configured so that the arm target is not present, which is the case
for some buildbots.
2020-10-21 17:40:02 +01:00
Michael Liao 1bcec29afb Only run when `arm` is registered. NFC. 2020-10-21 09:30:07 -04:00
John Brawn 0c66606230 [Driver] Incorporate -mfloat-abi in the computed triple on ARM
LLVM assumes that when it creates a call to a C library function it
can use the C calling convention. On ARM the effective calling
convention is determined from the target triple, however using
-mfloat-abi=hard on ARM means that calls to (and definitions of) C
library functions use the arm_aapcs_vfpcc calling convention which can
result in a mismatch.

Fix this by incorporating -mfloat-abi into the target triple, similar
to how -mbig-endian and -march/-mcpu are. This only works for EABI
targets and not Android or iOS, but there the float abi is fixed so
instead give an error.

Fixes PR45524

Differential Revision: https://reviews.llvm.org/D89573
2020-10-21 11:19:38 +01:00
Dan Albert 475042d5b1 [Driver] Fix float ABI default for Android ARMv8.
Summary: Android doesn't regress back to soft float after ARMv7 :)

Reviewers: srhines, pirama

Reviewed By: srhines, pirama

Subscribers: javed.absar, kristof.beyls, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D58477

llvm-svn: 354622
2019-02-21 21:13:03 +00:00
Akira Hatanaka 9d99bb50c4 [ARM] Error out if float-ab=hard and abi=apcs-gnu on macho platforms.
Error out if -mfloat-abi=hard or -mhard-float is specified on the command
line and the target ABI is APCS. Previously clang issued no warnings or
errors and just passed the option to the backend, which had no effect on
code generation for targets using APCS.

This commit corrects the patch commited in r245866, which didn't take into
account the fact that not all darwin targets use APCS.

rdar://problem/22257950

http://reviews.llvm.org/D12344

llvm-svn: 246054
2015-08-26 19:00:11 +00:00
Akira Hatanaka 44a6184a6d Revert r245866.
This commit was causing buildbot failures.

llvm-svn: 245871
2015-08-24 20:30:57 +00:00
Akira Hatanaka bbede731a5 [ARM] Error out on apple darwin platforms if float-abi is "hard".
Error out if the user tries to use float-abi="hard" since it isn't
supported on darwin platforms. Previously clang issued no warnings or
erros and just passed the option to the backend, which had no effect on
code generation for targets using apcs.

rdar://problem/22257950

Differential Revision: http://reviews.llvm.org/D12155

llvm-svn: 245866
2015-08-24 19:50:35 +00:00