================ @@ -4081,11 +4075,26 @@ static void extractHostEvalClauses(omp::TargetOp targetOp, Value &numThreads, llvm_unreachable("unsupported host_eval use"); }) .Case([&](omp::LoopNestOp loopOp) { - // TODO: Extract bounds and step values. Currently, this cannot be - // reached because translation would have been stopped earlier as a - // result of `checkImplementationStatus` detecting and reporting - // this situation. - llvm_unreachable("unsupported host_eval use"); + auto processBounds = + [&](OperandRange opBounds, + llvm::SmallVectorImpl<Value> *outBounds) -> bool { + bool found = false; + for (auto [i, lb] : llvm::enumerate(opBounds)) { + if (lb == blockArg) { + found = true; + if (outBounds) + (*outBounds)[i] = hostEvalVar; + } + } + return found; + }; + bool found = + processBounds(loopOp.getLoopLowerBounds(), lowerBounds); + found = processBounds(loopOp.getLoopUpperBounds(), upperBounds) || + found; + found = processBounds(loopOp.getLoopSteps(), steps) || found; + if (!found) + llvm_unreachable("unsupported host_eval use"); ---------------- Meinersbur wrote:
```suggestion (void)found; assert(found && "unsupported host_eval use"); ``` https://github.com/llvm/llvm-project/pull/127821 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits