[flang-commits] [flang] [mlir] [MLIR][Flang][OpenMP] Remove omp.parallel from loop wrapper ops (PR #105833)
Tom Eccles via flang-commits
flang-commits at lists.llvm.org
Tue Aug 27 03:28:57 PDT 2024
================
@@ -71,24 +71,23 @@ def ReductionClauseInterface : OpInterface<"ReductionClauseInterface"> {
def LoopWrapperInterface : OpInterface<"LoopWrapperInterface"> {
let description = [{
- OpenMP operations that can wrap a single loop nest. When taking a wrapper
- role, these operations must only contain a single region with a single block
- in which there's a single operation and a terminator. That nested operation
- must be another loop wrapper or an `omp.loop_nest`.
+ OpenMP operations that wrap a single loop nest. They must only contain a
+ single region with a single block in which there's a single operation and a
+ terminator. That nested operation must be another loop wrapper or an
+ `omp.loop_nest`.
}];
let cppNamespace = "::mlir::omp";
let methods = [
InterfaceMethod<
/*description=*/[{
- Tell whether the operation could be taking the role of a loop wrapper.
- That is, it has a single region with a single block in which there are
- two operations: another wrapper (also taking a loop wrapper role) or
- `omp.loop_nest` operation and a terminator.
+ Check whether the operation is a valid loop wrapper. That is, it has a
+ single region with a single block in which there are two operations:
+ another loop wrapper or `omp.loop_nest` operation and a terminator.
}],
/*retTy=*/"bool",
- /*methodName=*/"isWrapper",
+ /*methodName=*/"isValidWrapper",
----------------
tblah wrote:
nit: I don't think this needs to be in the operation interface now. If it is not a valid wrapper then the operation should fail in the verifier. I think this could be made into a static function in the file defining the verifiers.
https://github.com/llvm/llvm-project/pull/105833
More information about the flang-commits
mailing list