[PATCH] D123828: [mlir][OpenMP] Add omp.cancel and omp.cancellationpoint.

Kiran Chandramohan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 19 04:59:24 PDT 2022


kiranchandramohan added a comment.

@raghavendhra Apologies for not being clear. The change request was to add a verifier to the operation to issue errors where the closely nested construct restrictions do not hold.

As per the standard, for example, the following usages are not allowed.

  !$omp master
  !$omp cancel parallel
  !$omp end master

  !$omp cancel parallel

Could you go through the restrictions of cancel and cancellation point (the restriction on nesting of constructs) and implement these in the verifier? You could use the Reduction Op's verifier for reference. We probably have to check the parent Op and ensure it meets the restrictions specified in the standard.
https://github.com/llvm/llvm-project/blob/76410040b9f391185c7df48c14519860e1cf75e5/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td#L1074
https://github.com/llvm/llvm-project/blob/76410040b9f391185c7df48c14519860e1cf75e5/mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp#L713


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123828/new/

https://reviews.llvm.org/D123828



More information about the llvm-commits mailing list