================
@@ -10047,14 +10095,24 @@ checkOpenMPLoop(OpenMPDirectiveKind DKind, Expr 
*CollapseLoopCountExpr,
           SupportsNonPerfectlyNested, NumLoops,
           [DKind, &SemaRef, &DSA, NumLoops, NestedLoopCount,
            CollapseLoopCountExpr, OrderedLoopCountExpr, &VarsWithImplicitDSA,
-           &IterSpaces, &Captures,
-           &CollapsedLoopVarDecls](unsigned Cnt, Stmt *CurStmt) {
+           &IterSpaces, &Captures, &CollapsedLoopVarDecls,
+           &CollapsedLoopInductionVars](unsigned Cnt, Stmt *CurStmt) {
             if (checkOpenMPIterationSpace(
                     DKind, CurStmt, SemaRef, DSA, Cnt, NestedLoopCount,
                     NumLoops, CollapseLoopCountExpr, OrderedLoopCountExpr,
                     VarsWithImplicitDSA, IterSpaces, Captures,
-                    CollapsedLoopVarDecls))
+                    CollapsedLoopVarDecls, CollapsedLoopInductionVars))
               return true;
+            // Add the current loop's induction variable to the set so nested
+            // loops can check against it.
+            if (Cnt < NestedLoopCount && IterSpaces[Cnt].CounterVar) {
+              if (auto *DRE =
+                      dyn_cast<DeclRefExpr>(IterSpaces[Cnt].CounterVar)) {
----------------
alexey-bataev wrote:

```suggestion
                      dyn_cast<DeclRefExpr>(IterSpaces[Cnt].getLoopDecl())) {
```

https://github.com/llvm/llvm-project/pull/203252
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to