aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/libcxx/include/__pstl/internal/omp/parallel_invoke.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2023-12-18 20:30:12 +0000
committerDimitry Andric <dim@FreeBSD.org>2024-04-19 21:12:03 +0000
commitc9157d925c489f07ba9c0b2ce47e5149b75969a5 (patch)
tree08bc4a3d9cad3f9ebffa558ddf140b9d9257b219 /contrib/llvm-project/libcxx/include/__pstl/internal/omp/parallel_invoke.h
parent2a66844f606a35d68ad8a8061f4bea204274b3bc (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.h50
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