[clang] Adding Separate OpenMP Offloading Backend to `libcxx/include/__algorithm/pstl_backends` (PR #66968)
Louis Dionne via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 30 13:27:45 PDT 2023
================
@@ -330,6 +330,23 @@ def getStdFlag(cfg, std):
default=f"{shlex.quote(sys.executable)} {shlex.quote(str(Path(__file__).resolve().parent.parent.parent / 'run.py'))}",
help="Custom executor to use instead of the configured default.",
actions=lambda executor: [AddSubstitution("%{executor}", executor)],
+ ),
+ Parameter(
+ name="openmp_pstl_backend",
+ choices=[True, False],
+ type=bool,
+ default=False,
+ help="Enable the OpenMP compilation toolchain if the PSTL backend was set to OpenMP.",
+ actions=lambda enabled: [
+ AddCompileFlag("-fopenmp"),
+ # The linker needs to find the correct version of libomptarget
+ AddLinkFlag("-Wl,-rpath,%{lib}/../../lib"),
+ AddLinkFlag("-L%{lib}/../../lib"),
+ # The preprocessor needs to find the omp.h header
+ AddFlag("-I %{lib}/../../runtimes/runtimes-bins/openmp/runtime/src"),
+ # If the OpenMP PSTL backend was enbaled, we wish to run the tests for it
+ AddFeature("openmp_pstl_backend")
----------------
ldionne wrote:
You should take a look at `"_LIBCPP_PSTL_CPU_BACKEND_LIBDISPATCH": "libcpp-pstl-cpu-backend-libdispatch",` and probably enable this feature through `features.py` instead.
https://github.com/llvm/llvm-project/pull/66968
More information about the cfe-commits
mailing list