This is an archive of the discontinued LLVM Phabricator instance.

[openmp] [test] XFAIL many-microtask-args.c on ARM
ClosedPublic

Authored by mstorsjo on Nov 25 2022, 3:02 PM.

Details

Summary

On ARM, a C fallback version of __kmp_invoke_microtask is used,
which only handles up to a fixed number of arguments - while
many-microtask-args.c tests that the function can handle an
arbitrarily large number of arguments (the testcase produces 17
arguments).

On the CMake level, we can't add ${LIBOMP_ARCH} directly to
OPENMP_TEST_COMPILER_FEATURES in OpenMPTesting.cmake, since
that file is parsed before LIBOMP_ARCH is set. Instead
convert the feature list into a proper CMake list, and append
${LIBOMP_ARCH} into it before serializing it to an Python array.

Diff Detail

Event Timeline

mstorsjo created this revision.Nov 25 2022, 3:02 PM
Herald added a project: Restricted Project. · View Herald TranscriptNov 25 2022, 3:02 PM
mstorsjo requested review of this revision.Nov 25 2022, 3:02 PM
Herald added a project: Restricted Project. · View Herald TranscriptNov 25 2022, 3:02 PM
Herald added a subscriber: sstefan1. · View Herald Transcript
This revision is now accepted and ready to land.Nov 28 2022, 12:27 AM
natgla added inline comments.Nov 28 2022, 9:12 AM
openmp/runtime/test/misc_bugs/many-microtask-args.c
7

Does this test now always expect a failure on arm? E.g. with MSVC on Windows it should pass, but it'll expect failure, so if there will be a breaking change test may start failing with MSVC and it'll go unnoticed, correct?

natgla added inline comments.Nov 28 2022, 9:17 AM
openmp/runtime/test/misc_bugs/many-microtask-args.c
7

or is this for arm 32, not aarch64?

mstorsjo added inline comments.Nov 28 2022, 9:32 AM
openmp/runtime/test/misc_bugs/many-microtask-args.c
7

This is only for 32 bit arm, arm64 gets LIBOMP_ARCH=aarch64.

natgla accepted this revision.Nov 28 2022, 9:44 AM
This revision was automatically updated to reflect the committed changes.
mstorsjo reopened this revision.Nov 28 2022, 1:50 PM
This revision is now accepted and ready to land.Nov 28 2022, 1:50 PM
mstorsjo updated this revision to Diff 478364.Nov 28 2022, 1:51 PM

Make sure OPENMP_TEST_COMPILER_FEATURES is defined properly in all other test subdirectories other than runtime/test.

Also remove accidental commas from the end of entries in OPENMP_TEST_COMPILER_FEATURE_LIST.