[flang-commits] [flang] [flang][OpenACC] Skip non-loop evaluations when descending a collapsed/tiled DO nest (PR #223579)

via flang-commits flang-commits at lists.llvm.org
Wed Sep 16 05:43:12 PDT 2026


================
@@ -3461,6 +3461,21 @@ class FirConverter : public Fortran::lower::AbstractConverter {
     attachToDoStmt(e);
   }
 
+  /// Warn about each compiler directive (e.g. !DIR$ IVDEP) found in
+  /// \p skipped. These are evaluations that were skipped over while
+  /// descending a collapsed or tiled loop nest to find the next inner
+  /// DO CONSTRUCT (see findNestedDoConstructEvaluation): since the
+  /// directive is neither part of the collapsed loop's body nor attached
+  /// to a DO statement that is separately lowered, it has no effect.
+  void warnAboutSkippedDirectives(
+      llvm::ArrayRef<Fortran::lower::pft::Evaluation *> skipped) {
+    for (Fortran::lower::pft::Evaluation *e : skipped)
+      if (e->isDirective())
----------------
jeanPerier wrote:

Do you know what are the other nodes that are now silently ignored?
I would advise using a positive list of what is can be ignored and to emit a TODO/assert if something unexpected is ignored here.

https://github.com/llvm/llvm-project/pull/223579


More information about the flang-commits mailing list