[all-commits] [llvm/llvm-project] e0650e: [mlir][OpenMP] Separate OutlinableInterface from t...

Tom Eccles via All-commits all-commits at lists.llvm.org
Tue Apr 7 09:30:59 PDT 2026


  Branch: refs/heads/users/tblah/taskloop-allocas-1
  Home:   https://github.com/llvm/llvm-project
  Commit: e0650e833fd32b314d3daf4e0c6d547310682dcc
      https://github.com/llvm/llvm-project/commit/e0650e833fd32b314d3daf4e0c6d547310682dcc
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-04-07 (Tue, 07 Apr 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Integration/OpenMP/taskloop-alloca-placement.f90
    M flang/test/Lower/OpenMP/if-clause.f90
    M flang/test/Lower/OpenMP/implicit-dsa.f90
    M flang/test/Lower/OpenMP/masked_taskloop.f90
    M flang/test/Lower/OpenMP/parallel-masked-taskloop.f90
    M flang/test/Lower/OpenMP/taskloop-cancel.f90
    M flang/test/Lower/OpenMP/taskloop-collapse.f90
    M flang/test/Lower/OpenMP/taskloop-grainsize.f90
    A flang/test/Lower/OpenMP/taskloop-inreduction.f90
    M flang/test/Lower/OpenMP/taskloop-numtasks.f90
    A flang/test/Lower/OpenMP/taskloop-reduction.f90
    M flang/test/Lower/OpenMP/taskloop.f90
    R flang/test/Lower/taskloop-inreduction.f90
    R flang/test/Lower/taskloop-reduction.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-cancel.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-cancellation-point.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-collapse.mlir
    A mlir/test/Target/LLVMIR/openmp-taskloop-context-alloca.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-final.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-grainsize.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-if.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-mergeable.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-no-context-struct.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-nogroup.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-num_tasks.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-priority.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-untied.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Separate OutlinableInterface from taskloop LoopWrapper

Separate taskloop context and loop lowering into different operations.
This allows us to have separate operations representing the outlinable
interface and the loop wrapper interface so that there is somewhere
better than the loop body to put task-local allocations:

```
omp.taskloop.context {
  llvm.alloca ...
  omp.taskloop {
    omp.loop_nest ... {
      ...
    }
  }
  omp.terminator
}
```

The tests for the real functional change are
  - flang/test/Integration/OpenMP/taskloop-alloca-placement.f90
  - mlir/test/Target/LLVMIR/openmp-taskloop-context-alloca.mlir

RFC: https://discourse.llvm.org/t/rfc-openmp-alloca-placement-for-openmp-loop-wrappers/89512/7

This commit keeps all of the clauses on the omp.taskloop op to minimise
changes that have to go into this one commit. I will follow this by
moving clauses to the operation in which they generate code.

Patch 1/3


  Commit: f66c30e389cc019d152404e26592c3520b51145a
      https://github.com/llvm/llvm-project/commit/f66c30e389cc019d152404e26592c3520b51145a
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-04-07 (Tue, 07 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir

  Log Message:
  -----------
  Improve error message

Make it clear that the requirement is for direct nesting.


  Commit: f4d274892c13f65ed7bda0aa6eba948482a46e2f
      https://github.com/llvm/llvm-project/commit/f4d274892c13f65ed7bda0aa6eba948482a46e2f
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-04-07 (Tue, 07 Apr 2026)

  Changed paths:
    M mlir/test/Target/LLVMIR/openmp-taskloop-bounds-cast.mlir

  Log Message:
  -----------
  Fix test added in later commit

It seems the testing bots cherry-pick the branch onto current main
instead of testing the branch as it is.


  Commit: 3903fb1fcce489350b030fa0a4d19cb197f17da7
      https://github.com/llvm/llvm-project/commit/3903fb1fcce489350b030fa0a4d19cb197f17da7
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-04-07 (Tue, 07 Apr 2026)

  Changed paths:
    M mlir/test/Target/LLVMIR/openmp-taskloop-outer-bounds.mlir

  Log Message:
  -----------
  Fix another new test


  Commit: 850df438174cf437c62928ed4a68d1d6d98d05f1
      https://github.com/llvm/llvm-project/commit/850df438174cf437c62928ed4a68d1d6d98d05f1
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-04-07 (Tue, 07 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp

  Log Message:
  -----------
  Rename TaskloopOp::getContextOp to getTaskloopContext


  Commit: 799d0d597eed49b34747ad2c740cda617db62ea2
      https://github.com/llvm/llvm-project/commit/799d0d597eed49b34747ad2c740cda617db62ea2
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-04-07 (Tue, 07 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp

  Log Message:
  -----------
  Use llvm::find_if for finding taskloop loop wrapper op


  Commit: 71ce5e5941b2cf00757c84f6f4cf0c3291d68e6e
      https://github.com/llvm/llvm-project/commit/71ce5e5941b2cf00757c84f6f4cf0c3291d68e6e
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-04-07 (Tue, 07 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp

  Log Message:
  -----------
  Harden implementation of getTaskloopContext


  Commit: 72cb3c0f2dc9cc545e7da74f8cd7ba6b96201af8
      https://github.com/llvm/llvm-project/commit/72cb3c0f2dc9cc545e7da74f8cd7ba6b96201af8
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-04-07 (Tue, 07 Apr 2026)

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

  Log Message:
  -----------
  Fix OpenMPToLLVMIRTranslation nits


Compare: https://github.com/llvm/llvm-project/compare/91b34bc12f67...72cb3c0f2dc9

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