[AArch64] Add 'apple-latest' CPU alias
authorFrancis Visoiu Mistrih <francisvm@yahoo.com>
Mon, 28 Jan 2019 19:27:33 +0000 (19:27 +0000)
committerFrancis Visoiu Mistrih <francisvm@yahoo.com>
Mon, 28 Jan 2019 19:27:33 +0000 (19:27 +0000)
The 'apple-latest' alias is supposed to provide a CPU that contains the
latest Apple processor model supported by LLVM.

This is supposed to be used by tools like lldb to provide a target that
supports most of the CPU features.

For now, this is mapped to Cyclone.

Differential Revision: https://reviews.llvm.org/D56384

llvm-svn: 352412

llvm/lib/Target/AArch64/AArch64.td
llvm/test/CodeGen/AArch64/apple-latest-cpu.ll [new file with mode: 0644]
llvm/test/CodeGen/AArch64/cpus.ll

index 079c458..7ba64ff 100644 (file)
@@ -715,6 +715,9 @@ def : ProcessorModel<"thunderx2t99", ThunderX2T99Model, [ProcThunderX2T99]>;
 // FIXME: HiSilicon TSV110 is currently modeled as a Cortex-A57.
 def : ProcessorModel<"tsv110", CortexA57Model, [ProcTSV110]>;
 
+// Alias for the latest Apple processor model supported by LLVM.
+def : ProcessorModel<"apple-latest", CycloneModel, [ProcCyclone]>;
+
 //===----------------------------------------------------------------------===//
 // Assembly parser
 //===----------------------------------------------------------------------===//
diff --git a/llvm/test/CodeGen/AArch64/apple-latest-cpu.ll b/llvm/test/CodeGen/AArch64/apple-latest-cpu.ll
new file mode 100644 (file)
index 0000000..033c377
--- /dev/null
@@ -0,0 +1,7 @@
+; RUN: llc -mtriple=arm64-apple-ios -mcpu=apple-latest -stop-before=expand-isel-pseudos -o - 2>&1 < %s | FileCheck %s
+
+; CHECK-LABEL: @dummy
+; CHECK: "target-cpu"="apple-latest"
+define void @dummy() {
+  ret void
+}
index d4a32bd..c639ee0 100644 (file)
@@ -18,6 +18,7 @@
 ; RUN: llc < %s -mtriple=arm64-unknown-unknown -mcpu=kryo 2>&1 | FileCheck %s
 ; RUN: llc < %s -mtriple=arm64-unknown-unknown -mcpu=thunderx2t99 2>&1 | FileCheck %s
 ; RUN: llc < %s -mtriple=arm64-unknown-unknown -mcpu=tsv110 2>&1 | FileCheck %s
+; RUN: llc < %s -mtriple=arm64-unknown-unknown -mcpu=apple-latest 2>&1 | FileCheck %s
 ; RUN: llc < %s -mtriple=arm64-unknown-unknown -mcpu=invalidcpu 2>&1 | FileCheck %s --check-prefix=INVALID
 
 ; CHECK-NOT: {{.*}}  is not a recognized processor for this target