[llvm-branch-commits] [openmp] 99350dc - [OpenMP] Fix clang-cl build error regarding TSX intrinsics
Tom Stellard via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Mar 5 09:23:49 PST 2021
Author: Peyton, Jonathan L
Date: 2021-03-05T09:23:38-08:00
New Revision: 99350dcc3f5b46d564338c0067c2cbd139b841ee
URL: https://github.com/llvm/llvm-project/commit/99350dcc3f5b46d564338c0067c2cbd139b841ee
DIFF: https://github.com/llvm/llvm-project/commit/99350dcc3f5b46d564338c0067c2cbd139b841ee.diff
LOG: [OpenMP] Fix clang-cl build error regarding TSX intrinsics
Fix for https://bugs.llvm.org/show_bug.cgi?id=49339
The CMake check for the RTM intrinsics needs the -mrtm flag to be set
during the test. This way clang-cl correctly detects it has the
_xbegin() intrinsic. Otherwise, the CMake check fails.
Differential Revision: https://reviews.llvm.org/D97413
(cherry picked from commit e83380fccc2cc9842bdcfd268efddf6fce90544d)
Added:
Modified:
openmp/runtime/cmake/config-ix.cmake
Removed:
################################################################################
diff --git a/openmp/runtime/cmake/config-ix.cmake b/openmp/runtime/cmake/config-ix.cmake
index f06fda6c0221..ed62aefccd14 100644
--- a/openmp/runtime/cmake/config-ix.cmake
+++ b/openmp/runtime/cmake/config-ix.cmake
@@ -172,6 +172,10 @@ if (IA32 OR INTEL64)
}
int main() { int a = __kmp_umwait(0, 1000); return a; }")
check_cxx_source_compiles("${source_code}" LIBOMP_HAVE_WAITPKG_INTRINSICS)
+ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ if (LIBOMP_HAVE_MRTM_FLAG)
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -mrtm")
+ endif()
set(source_code "// check for attribute rtm and rtm intrinsics
#ifdef IMMINTRIN_H
#include <immintrin.h>
@@ -188,6 +192,7 @@ if (IA32 OR INTEL64)
int main() { int a = __kmp_xbegin(); return a; }")
check_cxx_source_compiles("${source_code}" LIBOMP_HAVE_RTM_INTRINSICS)
set(CMAKE_REQUIRED_DEFINITIONS)
+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
endif()
# Find perl executable
More information about the llvm-branch-commits
mailing list