[all-commits] [llvm/llvm-project] e40200: [mlir][OpenMP] cancel(lation point) taskgroup LLVM...

Tom Eccles via All-commits all-commits at lists.llvm.org
Thu May 8 03:16:21 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e40200901cf1af860db9ded5c03b7b104396e429
      https://github.com/llvm/llvm-project/commit/e40200901cf1af860db9ded5c03b7b104396e429
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-05-08 (Thu, 08 May 2025)

  Changed paths:
    M flang/docs/OpenMPSupport.md
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-cancel.mlir
    M mlir/test/Target/LLVMIR/openmp-cancellation-point.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [mlir][OpenMP] cancel(lation point) taskgroup LLVMIR (#137841)

A cancel or cancellation point for taskgroup is always nested inside of
a task inside of the taskgroup. For the task which is cancelled, it is
that task which needs to be cleaned up: not the owning taskgroup.
Therefore the cancellation branch handler is done in the conversion of
the task not in conversion of taskgroup.

I added a firstprivate clause to the test for cancel taskgroup to
demonstrate that the block being branched to is the same block where
mandatory cleanup code is added. Cancellation point follows exactly the
same code path.



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