From: Tilmann Scheller Date: Mon, 2 Sep 2013 12:01:58 +0000 (+0000) Subject: ARM: Default to Swift when compiling for iOS 6 or later. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=024e76b69bc46a20e96eba22f2655d249c495d00;p=oota-llvm.git 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 --- diff --git a/lib/Target/ARM/ARMSubtarget.cpp b/lib/Target/ARM/ARMSubtarget.cpp index 3111f5e385e..a8e62e5a559 100644 --- a/lib/Target/ARM/ARMSubtarget.cpp +++ b/lib/Target/ARM/ARMSubtarget.cpp @@ -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 diff --git a/test/CodeGen/ARM/struct_byval.ll b/test/CodeGen/ARM/struct_byval.ll index 012b9948537..0b3d7afe6cd 100644 --- a/test/CodeGen/ARM/struct_byval.ll +++ b/test/CodeGen/ARM/struct_byval.ll @@ -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] } diff --git a/test/CodeGen/ARM/swift-atomics.ll b/test/CodeGen/ARM/swift-atomics.ll index 1d718155710..883165fc024 100644 --- a/test/CodeGen/ARM/swift-atomics.ll +++ b/test/CodeGen/ARM/swift-atomics.ll @@ -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",