[clang] d5bebb3 - [Driver] Allow XRay on Apple Silicon
Fangrui Song via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 20 20:47:35 PDT 2023
Author: Oleksii Lozovskyi
Date: 2023-06-20T20:47:32-07:00
New Revision: d5bebb3fb402c4ba7e5838d267fa840eee8ecdce
URL: https://github.com/llvm/llvm-project/commit/d5bebb3fb402c4ba7e5838d267fa840eee8ecdce
DIFF: https://github.com/llvm/llvm-project/commit/d5bebb3fb402c4ba7e5838d267fa840eee8ecdce.diff
LOG: [Driver] Allow XRay on Apple Silicon
Codegen can handle XRay for AArch64, tell the driver to allow it.
Differential Revision: https://reviews.llvm.org/D145849
Added:
Modified:
clang/lib/Driver/XRayArgs.cpp
clang/test/Driver/XRay/xray-instrument.c
Removed:
################################################################################
diff --git a/clang/lib/Driver/XRayArgs.cpp b/clang/lib/Driver/XRayArgs.cpp
index 427c4ced3cd46..1f397d08237d5 100644
--- a/clang/lib/Driver/XRayArgs.cpp
+++ b/clang/lib/Driver/XRayArgs.cpp
@@ -32,9 +32,14 @@ XRayArgs::XRayArgs(const ToolChain &TC, const ArgList &Args) {
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()) {
diff --git a/clang/test/Driver/XRay/xray-instrument.c b/clang/test/Driver/XRay/xray-instrument.c
index 430418446366c..4c6b9b12fe9ab 100644
--- a/clang/test/Driver/XRay/xray-instrument.c
+++ b/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
More information about the cfe-commits
mailing list