[all-commits] [llvm/llvm-project] 25903e: [MLIR][OpenMP][OMPIRBuilder] Improve shared memory...

Sergio Afonso via All-commits all-commits at lists.llvm.org
Thu Apr 16 05:08:43 PDT 2026


  Branch: refs/heads/users/skatrak/flang-generic-11-shared-mem-checks
  Home:   https://github.com/llvm/llvm-project
  Commit: 25903e4478f4681563e21d7c45aceebce29178f4
      https://github.com/llvm/llvm-project/commit/25903e4478f4681563e21d7c45aceebce29178f4
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  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
    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.


  Commit: f6188b370f6045c9eb944b0844dfa22221b420c3
      https://github.com/llvm/llvm-project/commit/f6188b370f6045c9eb944b0844dfa22221b420c3
  Author: Sergio Afonso <Sergio.AfonsoFumero at amd.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M flang/test/Integration/OpenMP/target-use-device-nested.f90
    M flang/test/Integration/OpenMP/threadprivate-target-device.f90
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
    A mlir/test/Target/LLVMIR/openmp-target-private-shared-mem.mlir

  Log Message:
  -----------
  add missing check


  Commit: 6c24024f7c0dce77a260cc1fe81cf73e101653f5
      https://github.com/llvm/llvm-project/commit/6c24024f7c0dce77a260cc1fe81cf73e101653f5
  Author: Sergio Afonso <Sergio.AfonsoFumero at amd.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  support other map-like clauses


  Commit: 39dcbcc8fba55587dc029d41255c2432b75fee2a
      https://github.com/llvm/llvm-project/commit/39dcbcc8fba55587dc029d41255c2432b75fee2a
  Author: Sergio Afonso <Sergio.AfonsoFumero at amd.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M mlir/test/Target/LLVMIR/openmp-target-private-shared-mem.mlir

  Log Message:
  -----------
  update after rebase


  Commit: d3824c93e660756f6dbcf651cac9c9f5b8dbdfea
      https://github.com/llvm/llvm-project/commit/d3824c93e660756f6dbcf651cac9c9f5b8dbdfea
  Author: Sergio Afonso <Sergio.AfonsoFumero at amd.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
    M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
    M flang/test/Lower/OpenMP/function-filtering-2.f90

  Log Message:
  -----------
  add internal linkage to target device functions


  Commit: d9db30d70f1913e6e207ecd9fc4a8f9dd2c19d69
      https://github.com/llvm/llvm-project/commit/d9db30d70f1913e6e207ecd9fc4a8f9dd2c19d69
  Author: Sergio Afonso <Sergio.AfonsoFumero at amd.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M flang/test/Integration/OpenMP/threadprivate-target-device.f90

  Log Message:
  -----------
  fix test after rebase


  Commit: d3a7802851fb8a8f59b0b4c7ff0008e4e88ef2b4
      https://github.com/llvm/llvm-project/commit/d3a7802851fb8a8f59b0b4c7ff0008e4e88ef2b4
  Author: Sergio Afonso <Sergio.AfonsoFumero at amd.com>
  Date:   2026-04-16 (Thu, 16 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
    M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
    M flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
    M flang/test/Lower/OpenMP/function-filtering-2.f90

  Log Message:
  -----------
  Revert "add internal linkage to target device functions"

This reverts commit 7dca66e67ed7f9309812790110543e07e5dde0e8.


Compare: https://github.com/llvm/llvm-project/compare/b3e7222847f1...d3a7802851fb

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