================ @@ -390,15 +559,35 @@ void ReductionProcessor::addReductionDecl( // initial pass to collect all recuction vars so we can figure out if this // should happen byref + fir::FirOpBuilder &builder = converter.getFirOpBuilder(); for (const Fortran::parser::OmpObject &ompObject : objectList.v) { if (const auto *name{ Fortran::parser::Unwrap<Fortran::parser::Name>(ompObject)}) { if (const Fortran::semantics::Symbol * symbol{name->symbol}) { if (reductionSymbols) reductionSymbols->push_back(symbol); mlir::Value symVal = converter.getSymbolAddress(*symbol); - if (auto declOp = symVal.getDefiningOp<hlfir::DeclareOp>()) + auto redType = mlir::cast<fir::ReferenceType>(symVal.getType()); ---------------- DavidTruby wrote:
Is this cast definitely safe? Will symVal always be a reference type here? https://github.com/llvm/llvm-project/pull/84958 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits