[Openmp-commits] [PATCH] D142172: [OpenMP] Only test kmp_atomic_float10_max_min.c on X86

Shilei Tian via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Thu Jan 19 20:16:13 PST 2023


tianshilei1992 created this revision.
tianshilei1992 added reviewers: jdoerfert, tlwilmar, AndreyChurbanov.
Herald added subscribers: pengfei, guansong, kristof.beyls, yaxunl.
Herald added a project: All.
tianshilei1992 requested review of this revision.
Herald added subscribers: openmp-commits, sstefan1.
Herald added a project: OpenMP.

The test `openmp/runtime/test/atomic/kmp_atomic_float10_max_min.c` uses a compiler
flag `-mlong-double-80` that might not be supported by all targets. Currently it
requires `x86-registered-target`, but that requirement can be true when LLVM
supports X86 while the actual `libomp` arch is not X86. For example, when LLVM
is built on AArch64 with all targets enabled, `x86-registered-target` can be met.
If `libomp` is built with native target, aka. AArch64, the test will still be enabled,
causing test failure.

This patch only enables the test if the actual target is X86. The actual target
is determined by `LIBOMP_ARCH`.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D142172

Files:
  openmp/runtime/test/atomic/kmp_atomic_float10_max_min.c
  openmp/runtime/test/lit.cfg
  openmp/runtime/test/lit.site.cfg.in


Index: openmp/runtime/test/lit.site.cfg.in
===================================================================
--- openmp/runtime/test/lit.site.cfg.in
+++ openmp/runtime/test/lit.site.cfg.in
@@ -19,6 +19,7 @@
 config.has_libatomic = @LIBOMP_HAVE_LIBATOMIC@
 config.is_standalone_build = @OPENMP_STANDALONE_BUILD@
 config.has_omit_frame_pointer_flag = @OPENMP_TEST_COMPILER_HAS_OMIT_FRAME_POINTER_FLAGS@
+config.target_arch = "@LIBOMP_ARCH@"
 
 # Let the main config do the real work.
 lit_config.load_config(config, "@LIBOMP_BASE_DIR@/test/lit.cfg")
Index: openmp/runtime/test/lit.cfg
===================================================================
--- openmp/runtime/test/lit.cfg
+++ openmp/runtime/test/lit.cfg
@@ -114,6 +114,12 @@
 if config.operating_system in ['Linux']:
     config.available_features.add('hidden-helper')
 
+target_arch = getattr(config, 'target_arch', None)
+if target_arch:
+  config.available_features.add(target_arch + '-target-arch')
+  if target_arch in ['x86_64', 'i386']:
+    config.available_features.add('x86-target-arch')
+
 # Avoid Windows heuristics which try to detect potential installer programs
 # (which may need to run with elevated privileges) and ask if the user wants
 # to run them in that way. This heuristic may match for executables containing
Index: openmp/runtime/test/atomic/kmp_atomic_float10_max_min.c
===================================================================
--- openmp/runtime/test/atomic/kmp_atomic_float10_max_min.c
+++ openmp/runtime/test/atomic/kmp_atomic_float10_max_min.c
@@ -1,6 +1,6 @@
 // RUN: %libomp-compile -mlong-double-80 && %libomp-run
 // UNSUPPORTED: gcc
-// REQUIRES: x86-registered-target
+// REQUIRES: x86-target-arch
 
 #include <stdio.h>
 #include <omp.h>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D142172.490704.patch
Type: text/x-patch
Size: 1749 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20230120/ca4b1e59/attachment.bin>


More information about the Openmp-commits mailing list