================ @@ -1977,9 +1977,10 @@ LogicalResult OrderedRegionOp::verify() { if (getSimd()) return failure(); - if (auto container = (*this)->getParentOfType<WsloopOp>()) { - if (!container.getOrderedValAttr() || - container.getOrderedValAttr().getInt() != 0) + if (auto loopOp = dyn_cast<LoopNestOp>((*this)->getParentOp())) { ---------------- skatrak wrote:
I wasn't too sure, so to be conservative I just replicated the previous behavior. However, looking at the OpenMP examples documents, I can see this is allowed: ```c #pragma omp for ordered for (i=0; i<n; i++) { if (i <= 10) { #pragma omp ordered work(i); } if (i > 10) { #pragma omp ordered work(i+1); } } ``` So my guess is that it's possible that `omp.ordered.region` appears indirectly nested inside of an `omp.loop_nest`. https://github.com/llvm/llvm-project/pull/89211 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits