================ @@ -705,28 +728,9 @@ convertOmpTaskOp(omp::TaskOp taskOp, llvm::IRBuilderBase &builder, }; SmallVector<llvm::OpenMPIRBuilder::DependData> dds; - if (!taskOp.getDependVars().empty() && taskOp.getDepends()) { - for (auto dep : - llvm::zip(taskOp.getDependVars(), taskOp.getDepends()->getValue())) { - llvm::omp::RTLDependenceKindTy type; - switch ( - cast<mlir::omp::ClauseTaskDependAttr>(std::get<1>(dep)).getValue()) { - case mlir::omp::ClauseTaskDepend::taskdependin: - type = llvm::omp::RTLDependenceKindTy::DepIn; - break; - // The OpenMP runtime requires that the codegen for 'depend' clause for - // 'out' dependency kind must be the same as codegen for 'depend' clause - // with 'inout' dependency. - case mlir::omp::ClauseTaskDepend::taskdependout: - case mlir::omp::ClauseTaskDepend::taskdependinout: - type = llvm::omp::RTLDependenceKindTy::DepInOut; - break; - }; - llvm::Value *depVal = moduleTranslation.lookupValue(std::get<0>(dep)); - llvm::OpenMPIRBuilder::DependData dd(type, depVal->getType(), depVal); - dds.emplace_back(dd); - } - } + if (!taskOp.getDependVars().empty() && taskOp.getDepends()) ---------------- skatrak wrote:
Nit: I'd suggest moving this check into `buildDependData`, since it always needs to be done. It would just return without adding anything to `dds` if the condition is not met. https://github.com/llvm/llvm-project/pull/93977 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits