[flang-commits] [flang] [mlir] [flang][mlir] Add support for implicit linearization in omp.simd (PR #150386)
via flang-commits
flang-commits at lists.llvm.org
Sat Dec 27 20:12:46 PST 2025
================
@@ -3025,9 +3025,36 @@ genStandaloneSimd(lower::AbstractConverter &converter, lower::SymMap &symTable,
simdArgs.priv.vars = simdClauseOps.privateVars;
simdArgs.reduction.syms = simdReductionSyms;
simdArgs.reduction.vars = simdClauseOps.reductionVars;
+
+ std::vector<mlir::Attribute> typeAttrs;
+ // If attributes from explicit `linear(...)` clause are present,
+ // carry them forward.
+ if (simdClauseOps.linearVarTypes && !simdClauseOps.linearVarTypes.empty())
+ typeAttrs.assign(simdClauseOps.linearVarTypes.begin(),
+ simdClauseOps.linearVarTypes.end());
+
+ for (auto [loopVar, loopStep] : llvm::zip(iv, loopNestClauseOps.loopSteps)) {
+ // TODO: Implicit linearization is skipped if iv is a pointer
----------------
NimishMishra wrote:
I have made this change.
https://github.com/llvm/llvm-project/pull/150386
More information about the flang-commits
mailing list