This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP][libomp] Introduce oneAPI compiler support
ClosedPublic

Authored by jlpeyton on Jan 31 2022, 3:26 PM.

Details

Summary

Introduce KMP_COMPILER_ICX macro to represent compilation with oneAPI compiler. This is just paired with KMP_COMPILER_ICC in most places

Fixup flag detection and compiler ID detection in CMake. Older CMake's detect IntelLLVM as Clang. Check for the __INTEL_CLANG_COMPILER pre-defined macro to determine if actually using oneAPI compiler.

Fix many compiler warnings from oneAPI compiler (both Linux and Windows). Many are unused variable warnings.

Fixup many of the tests to have non-empty parallel regions as they are elided by oneAPI compiler. Also have OMPT tests include -fno-omit-frame-pointer when available as oneAPI removes it by default.

Diff Detail

Event Timeline

jlpeyton created this revision.Jan 31 2022, 3:26 PM
jlpeyton requested review of this revision.Jan 31 2022, 3:26 PM
openmp/runtime/test/ompt/callback.h
15 ↗(On Diff #404749)

This header should be included as "../omp_testsuite.h". Otherwise "file not found" error issued on two tests of OMPT multiplex (tried "make check-openmp").

jlpeyton updated this revision to Diff 408481.EditedFeb 14 2022, 10:06 AM

Update to address Andrey's comments.

I removed the indirect include of omp_testsuite.h (through callback.h) and just directly included it in the relevant OMPT tests. This avoids affecting the projects in the openmp/tools/ subdirectory and those tests that rely on callback.h.

This revision is now accepted and ready to land.Feb 14 2022, 10:41 AM
jlpeyton closed this revision.Feb 14 2022, 12:14 PM

Forgot the Differential Revision: link in the commit message. This is closed by commit: https://github.com/llvm/llvm-project/commit/1234011b80f835a297482467ca6ca2099677c39c