This revision was automatically updated to reflect the committed changes.
Closed by commit rGd5bebb3fb402: [Driver] Allow XRay on Apple Silicon (authored 
by ilammy, committed by MaskRay).

Changed prior to commit:
  https://reviews.llvm.org/D145849?vs=530285&id=533116#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D145849/new/

https://reviews.llvm.org/D145849

Files:
  clang/lib/Driver/XRayArgs.cpp
  clang/test/Driver/XRay/xray-instrument.c


Index: clang/test/Driver/XRay/xray-instrument.c
===================================================================
--- clang/test/Driver/XRay/xray-instrument.c
+++ clang/test/Driver/XRay/xray-instrument.c
@@ -1,4 +1,5 @@
 // RUN: %clang -### --target=aarch64-pc-freebsd -fxray-instrument -c %s -o 
/dev/null 2>&1 | FileCheck %s
+// RUN: %clang -### --target=arm64-apple-macos -fxray-instrument -c %s -o 
/dev/null 2>&1 | FileCheck %s
 // RUN: %clang -### --target=x86_64-apple-darwin -fxray-instrument -c %s -o 
/dev/null 2>&1 | FileCheck %s
 // RUN: %clang -### --target=x86_64-pc-windows -fxray-instrument -c %s -o 
/dev/null 2>&1 | FileCheck %s --check-prefix=ERR
 
Index: clang/lib/Driver/XRayArgs.cpp
===================================================================
--- clang/lib/Driver/XRayArgs.cpp
+++ clang/lib/Driver/XRayArgs.cpp
@@ -32,9 +32,14 @@
     return;
   XRayInstrument = Args.getLastArg(options::OPT_fxray_instrument);
   if (Triple.isMacOSX()) {
-    if (Triple.getArch() != llvm::Triple::x86_64) {
+    switch (Triple.getArch()) {
+    case llvm::Triple::aarch64:
+    case llvm::Triple::x86_64:
+      break;
+    default:
       D.Diag(diag::err_drv_unsupported_opt_for_target)
           << XRayInstrument->getSpelling() << Triple.str();
+      break;
     }
   } else if (Triple.isOSBinFormatELF()) {
     switch (Triple.getArch()) {


Index: clang/test/Driver/XRay/xray-instrument.c
===================================================================
--- clang/test/Driver/XRay/xray-instrument.c
+++ clang/test/Driver/XRay/xray-instrument.c
@@ -1,4 +1,5 @@
 // RUN: %clang -### --target=aarch64-pc-freebsd -fxray-instrument -c %s -o /dev/null 2>&1 | FileCheck %s
+// RUN: %clang -### --target=arm64-apple-macos -fxray-instrument -c %s -o /dev/null 2>&1 | FileCheck %s
 // RUN: %clang -### --target=x86_64-apple-darwin -fxray-instrument -c %s -o /dev/null 2>&1 | FileCheck %s
 // RUN: %clang -### --target=x86_64-pc-windows -fxray-instrument -c %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=ERR
 
Index: clang/lib/Driver/XRayArgs.cpp
===================================================================
--- clang/lib/Driver/XRayArgs.cpp
+++ clang/lib/Driver/XRayArgs.cpp
@@ -32,9 +32,14 @@
     return;
   XRayInstrument = Args.getLastArg(options::OPT_fxray_instrument);
   if (Triple.isMacOSX()) {
-    if (Triple.getArch() != llvm::Triple::x86_64) {
+    switch (Triple.getArch()) {
+    case llvm::Triple::aarch64:
+    case llvm::Triple::x86_64:
+      break;
+    default:
       D.Diag(diag::err_drv_unsupported_opt_for_target)
           << XRayInstrument->getSpelling() << Triple.str();
+      break;
     }
   } else if (Triple.isOSBinFormatELF()) {
     switch (Triple.getArch()) {
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to