r311137 - GlobalISel (AArch64): fix ABI at border between GPRs and SP.
Tim Northover via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 17 16:14:01 PDT 2017
Author: tnorthover
Date: Thu Aug 17 16:14:01 2017
New Revision: 311137
URL: http://llvm.org/viewvc/llvm-project?rev=311137&view=rev
Log:
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.
Modified:
cfe/trunk/lib/Driver/ToolChains/Arch/ARM.cpp
Modified: cfe/trunk/lib/Driver/ToolChains/Arch/ARM.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Arch/ARM.cpp?rev=311137&r1=311136&r2=311137&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/ToolChains/Arch/ARM.cpp (original)
+++ cfe/trunk/lib/Driver/ToolChains/Arch/ARM.cpp Thu Aug 17 16:14:01 2017
@@ -438,7 +438,7 @@ void arm::getARMTargetFeatures(const Too
//
// 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");
More information about the cfe-commits
mailing list