ARM: Default to Swift when compiling for iOS 6 or later.

Test cases adjusted accordingly.

This fixes rdar://14871821.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189756 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tilmann Scheller 2013-09-02 12:01:58 +00:00
parent 4629e0da6a
commit 024e76b69b
3 changed files with 10 additions and 5 deletions

View File

@ -133,8 +133,13 @@ void ARMSubtarget::resetSubtargetFeatures(const MachineFunction *MF) {
}
void ARMSubtarget::resetSubtargetFeatures(StringRef CPU, StringRef FS) {
if (CPUString.empty())
CPUString = "generic";
if (CPUString.empty()) {
if (isTargetIOS() && !getTargetTriple().isOSVersionLT(6))
// Default to Swift for iOS 6 or later versions.
CPUString = "swift";
else
CPUString = "generic";
}
// Insert the architecture feature derived from the target triple into the
// feature string. This is important for setting features that are implied

View File

@ -1,4 +1,4 @@
; RUN: llc < %s -mtriple=armv7-apple-ios6.0 | FileCheck %s
; RUN: llc < %s -mtriple=armv7-apple-ios6.0 -mcpu=generic| FileCheck %s
; rdar://9877866
%struct.SmallStruct = type { i32, [8 x i32], [37 x i8] }

View File

@ -1,5 +1,5 @@
; RUN: llc -mtriple=armv7-apple-ios6.0 -mcpu=swift < %s | FileCheck %s
; RUN: llc -mtriple=armv7-apple-ios6.0 < %s | FileCheck %s --check-prefix=CHECK-STRICT-ATOMIC
; RUN: llc -mtriple=armv7-apple-ios6.0 < %s | FileCheck %s
; RUN: llc -mtriple=armv7-apple-ios6.0 -mcpu=generic < %s | FileCheck %s --check-prefix=CHECK-STRICT-ATOMIC
; Release operations only need the store barrier provided by a "dmb ishst",