summaryrefslogtreecommitdiff
path: root/lib/Driver/ToolChains/Arch
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2017-08-17 23:14:01 +0000
committerTim Northover <tnorthover@apple.com>2017-08-17 23:14:01 +0000
commit0405d77ec3f25f4afd2254f62201a80d26b67731 (patch)
tree5b5b8ce9aef35c381e3336f617890b20fd6b4003 /lib/Driver/ToolChains/Arch
parent6125770b4ce329df26cf33fdcf0b7c10a8cdacc2 (diff)
downloadclang-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.cpp2
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");