diff options
author | Tim Northover <tnorthover@apple.com> | 2013-12-18 09:27:33 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2013-12-18 09:27:33 +0000 |
commit | e66345aed48362550467ae72af0b1cfb704b8f9f (patch) | |
tree | 9a4933467ce672a0ef661b9f57da34c50b109b17 /lib/Target/ARM/ARMSubtarget.h | |
parent | 0a9ff8776b5fcffdb5292f261da04085ea8e116f (diff) | |
download | llvm-e66345aed48362550467ae72af0b1cfb704b8f9f.tar.gz llvm-e66345aed48362550467ae72af0b1cfb704b8f9f.tar.bz2 llvm-e66345aed48362550467ae72af0b1cfb704b8f9f.tar.xz |
ARM: set default float ABI based on triple.
Clang sets the float-abi target option manually, but no longer
annotates each function with its ABI. This can lead to confusing
mistmatch between "clang -emit-llvm | llc" and normal clang
invocations.
Besides which, gnueabihf actually *is* hard-float. Defaulting to soft
was just perverse.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197554 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMSubtarget.h')
-rw-r--r-- | lib/Target/ARM/ARMSubtarget.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMSubtarget.h b/lib/Target/ARM/ARMSubtarget.h index 42bc155d3b..4893973e1c 100644 --- a/lib/Target/ARM/ARMSubtarget.h +++ b/lib/Target/ARM/ARMSubtarget.h @@ -321,6 +321,11 @@ public: TargetTriple.getEnvironment() == Triple::EABIHF; } + bool isTargetHardFloat() const { + return TargetTriple.getEnvironment() == Triple::GNUEABIHF || + TargetTriple.getEnvironment() == Triple::EABIHF; + } + bool isAPCS_ABI() const { return TargetABI == ARM_ABI_APCS; } bool isAAPCS_ABI() const { return TargetABI == ARM_ABI_AAPCS; } |