diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2023-12-18 20:30:12 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2024-04-19 21:12:03 +0000 |
| commit | c9157d925c489f07ba9c0b2ce47e5149b75969a5 (patch) | |
| tree | 08bc4a3d9cad3f9ebffa558ddf140b9d9257b219 /contrib/llvm-project/libcxx/include/__pstl/internal/omp/parallel_invoke.h | |
| parent | 2a66844f606a35d68ad8a8061f4bea204274b3bc (diff) | |
Diffstat (limited to 'contrib/llvm-project/libcxx/include/__pstl/internal/omp/parallel_invoke.h')
| -rw-r--r-- | contrib/llvm-project/libcxx/include/__pstl/internal/omp/parallel_invoke.h | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/contrib/llvm-project/libcxx/include/__pstl/internal/omp/parallel_invoke.h b/contrib/llvm-project/libcxx/include/__pstl/internal/omp/parallel_invoke.h deleted file mode 100644 index 045ccbe9a18c..000000000000 --- a/contrib/llvm-project/libcxx/include/__pstl/internal/omp/parallel_invoke.h +++ /dev/null @@ -1,50 +0,0 @@ -// -*- C++ -*- -// -*-===----------------------------------------------------------------------===// -// -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// -//===----------------------------------------------------------------------===// - -#ifndef _PSTL_INTERNAL_OMP_PARALLEL_INVOKE_H -#define _PSTL_INTERNAL_OMP_PARALLEL_INVOKE_H - -#include "util.h" - -namespace __pstl -{ -namespace __omp_backend -{ - -template <typename _F1, typename _F2> -void -__parallel_invoke_body(_F1&& __f1, _F2&& __f2) -{ - _PSTL_PRAGMA(omp taskgroup) - { - _PSTL_PRAGMA(omp task untied mergeable) { std::forward<_F1>(__f1)(); } - _PSTL_PRAGMA(omp task untied mergeable) { std::forward<_F2>(__f2)(); } - } -} - -template <class _ExecutionPolicy, typename _F1, typename _F2> -void -__parallel_invoke(__pstl::__internal::__openmp_backend_tag, _ExecutionPolicy&&, _F1&& __f1, _F2&& __f2) -{ - if (omp_in_parallel()) - { - __pstl::__omp_backend::__parallel_invoke_body(std::forward<_F1>(__f1), std::forward<_F2>(__f2)); - } - else - { - _PSTL_PRAGMA(omp parallel) - _PSTL_PRAGMA(omp single nowait) - __pstl::__omp_backend::__parallel_invoke_body(std::forward<_F1>(__f1), std::forward<_F2>(__f2)); - } -} - -} // namespace __omp_backend -} // namespace __pstl -#endif // _PSTL_INTERNAL_OMP_PARALLEL_INVOKE_H |
