diff options
author | Tim Northover <tnorthover@apple.com> | 2017-08-17 23:14:01 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2017-08-17 23:14:01 +0000 |
commit | 0405d77ec3f25f4afd2254f62201a80d26b67731 (patch) | |
tree | 5b5b8ce9aef35c381e3336f617890b20fd6b4003 /lib/Driver/ToolChains/Arch | |
parent | 6125770b4ce329df26cf33fdcf0b7c10a8cdacc2 (diff) | |
download | clang-0405d77ec3f25f4afd2254f62201a80d26b67731.tar.gz |
GlobalISel (AArch64): fix ABI at border between GPRs and SP.
If a struct would end up half in GPRs and half on SP the ABI says it should
actually go entirely on the stack. We were getting this wrong in GlobalISel
before, causing compatibility issues.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311137 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/ToolChains/Arch')
-rw-r--r-- | lib/Driver/ToolChains/Arch/ARM.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Driver/ToolChains/Arch/ARM.cpp b/lib/Driver/ToolChains/Arch/ARM.cpp index 49bb23535d..c69efd96e8 100644 --- a/lib/Driver/ToolChains/Arch/ARM.cpp +++ b/lib/Driver/ToolChains/Arch/ARM.cpp @@ -438,7 +438,7 @@ void arm::getARMTargetFeatures(const ToolChain &TC, // // The above behavior is consistent with GCC. int VersionNum = getARMSubArchVersionNumber(Triple); - if (Triple.isOSDarwin() || Triple.isOSNetBSD()) { + if (Triple.isOSBinFormatMachO() || Triple.isOSNetBSD()) { if (VersionNum < 6 || Triple.getSubArch() == llvm::Triple::SubArchType::ARMSubArch_v6m) Features.push_back("+strict-align"); |