https://github.com/lixi-zhou updated
https://github.com/llvm/llvm-project/pull/65696:
>From eacec22651766c6c6961d14964ddb6a180fbfec0 Mon Sep 17 00:00:00 2001
From: Lixi Zhou
Date: Thu, 7 Sep 2023 16:15:25 -0700
Subject: [PATCH 1/2] fix failed ompt test on M1 device
---
openmp/runtime/test/ompt/callback.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/openmp/runtime/test/ompt/callback.h
b/openmp/runtime/test/ompt/callback.h
index 8180b3d2663f769..d8218113d4b197b 100644
--- a/openmp/runtime/test/ompt/callback.h
+++ b/openmp/runtime/test/ompt/callback.h
@@ -190,8 +190,8 @@ ompt_label_##id:
// On AArch64 the NOP instruction is 4 bytes long, can be followed by inserted
// store instruction (another 4 bytes long).
#define print_possible_return_addresses(addr) \
- printf("%" PRIu64 ": current_address=%p or %p\n",
ompt_get_thread_data()->value, \
- ((char *)addr) - 4, ((char *)addr) - 8)
+ printf("%" PRIu64 ": current_address=%p or %p or %p\n",
ompt_get_thread_data()->value, \
+ ((char *)addr) - 4, ((char *)addr) - 8, ((char *)addr) - 12)
#elif KMP_ARCH_RISCV64
#if __riscv_compressed
// On RV64GC the C.NOP instruction is 2 byte long. In addition, the compiler
>From e6e727648acbd8c1a3cb4f2bb1047b7903153f29 Mon Sep 17 00:00:00 2001
From: lixizhou
Date: Fri, 8 Sep 2023 00:25:05 -0700
Subject: [PATCH 2/2] refactor code based on feedback, fix #63149
---
openmp/runtime/test/ompt/callback.h | 14 +++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/openmp/runtime/test/ompt/callback.h
b/openmp/runtime/test/ompt/callback.h
index d8218113d4b197b..ecce5357b6ecb59 100644
--- a/openmp/runtime/test/ompt/callback.h
+++ b/openmp/runtime/test/ompt/callback.h
@@ -189,9 +189,17 @@ ompt_label_##id:
#elif KMP_ARCH_AARCH64
// On AArch64 the NOP instruction is 4 bytes long, can be followed by inserted
// store instruction (another 4 bytes long).
-#define print_possible_return_addresses(addr) \
- printf("%" PRIu64 ": current_address=%p or %p or %p\n",
ompt_get_thread_data()->value, \
- ((char *)addr) - 4, ((char *)addr) - 8, ((char *)addr) - 12)
+#if KMP_OS_DARWIN
+#define print_possible_return_addresses(addr)
\
+ printf("%" PRIu64 ": current_address=%p or %p or %p\n",
\
+ ompt_get_thread_data()->value, ((char *)addr) - 4,
\
+ ((char *)addr) - 8, ((char *)addr) - 12)
+#else
+#define print_possible_return_addresses(addr)
\
+ printf("%" PRIu64 ": current_address=%p or %p\n",
\
+ ompt_get_thread_data()->value, ((char *)addr) - 4,
\
+ ((char *)addr) - 8)
+#endif
#elif KMP_ARCH_RISCV64
#if __riscv_compressed
// On RV64GC the C.NOP instruction is 2 byte long. In addition, the compiler
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits