[all-commits] [llvm/llvm-project] 5e1a9a: [mlir][OpenMP] cancel(lation point) taskgroup LLVMIR

Tom Eccles via All-commits all-commits at lists.llvm.org
Tue Apr 29 09:29:17 PDT 2025


  Branch: refs/heads/users/tblah/omp-cancel-codegen-4
  Home:   https://github.com/llvm/llvm-project
  Commit: 5e1a9a046b7c846a670fa31e46853d183189b5cd
      https://github.com/llvm/llvm-project/commit/5e1a9a046b7c846a670fa31e46853d183189b5cd
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-04-29 (Tue, 29 Apr 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

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