[all-commits] [llvm/llvm-project] 33e252: [MLIR][OpenMP][OMPIRBuilder] Improve shared memory...
Sergio Afonso via All-commits
all-commits at lists.llvm.org
Fri Oct 3 08:30:49 PDT 2025
Branch: refs/heads/users/skatrak/flang-generic-11-shared-mem-checks
Home: https://github.com/llvm/llvm-project
Commit: 33e2524e060ecbdece8f91a3186d46088aa24140
https://github.com/llvm/llvm-project/commit/33e2524e060ecbdece8f91a3186d46088aa24140
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-10-03 (Fri, 03 Oct 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
A offload/test/offloading/fortran/target-generic-outlined-loops.f90
Log Message:
-----------
[MLIR][OpenMP][OMPIRBuilder] Improve shared memory checks
This patch refines checks to decide whether to use device shared memory or
regular stack allocations. In particular, it adds support for parallel regions
residing on standalone target device functions.
The changes are:
- Shared memory is introduced for `omp.target` implicit allocations, such as
those related to privatization and mapping, as long as they are shared across
threads in a nested parallel region.
- Standalone target device functions are interpreted as being part of a Generic
kernel, since the fact that they are present in the module after filtering
means they must be reachable from a target region.
- Prevent allocations whose only shared uses inside of an `omp.parallel` region
are as part of a `private` clause from being moved to device shared memory.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list