[llvm] r189756 - ARM: Default to Swift when compiling for iOS 6 or later.

Tilmann Scheller tilmann.scheller at googlemail.com
Mon Sep 2 05:01:59 PDT 2013


Author: tilmann
Date: Mon Sep  2 07:01:58 2013
New Revision: 189756

URL: http://llvm.org/viewvc/llvm-project?rev=189756&view=rev
Log:
ARM: Default to Swift when compiling for iOS 6 or later.

Test cases adjusted accordingly.

This fixes rdar://14871821.


Modified:
    llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp
    llvm/trunk/test/CodeGen/ARM/struct_byval.ll
    llvm/trunk/test/CodeGen/ARM/swift-atomics.ll

Modified: llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp?rev=189756&r1=189755&r2=189756&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp Mon Sep  2 07:01:58 2013
@@ -133,8 +133,13 @@ void ARMSubtarget::resetSubtargetFeature
 }
 
 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

Modified: llvm/trunk/test/CodeGen/ARM/struct_byval.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/struct_byval.ll?rev=189756&r1=189755&r2=189756&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/struct_byval.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/struct_byval.ll Mon Sep  2 07:01:58 2013
@@ -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] }

Modified: llvm/trunk/test/CodeGen/ARM/swift-atomics.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/swift-atomics.ll?rev=189756&r1=189755&r2=189756&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/swift-atomics.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/swift-atomics.ll Mon Sep  2 07:01:58 2013
@@ -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",
 





More information about the llvm-commits mailing list