[flang] [llvm] [flang][OpenMP] Try to unify induction var privatization for OMP regions. (PR #91116)

Kareem Ergawy via llvm-commits llvm-commits at lists.llvm.org
Thu May 16 06:42:07 PDT 2024


================
@@ -289,12 +290,34 @@ void DataSharingProcessor::collectSymbolsInNestedRegions(
        eval.getNestedEvaluations()) {
     if (nestedEval.hasNestedEvaluations()) {
       if (nestedEval.isConstruct())
-        // Recursively look for OpenMP constructs within `nestedEval`'s region
         collectSymbolsInNestedRegions(nestedEval, flag, symbolsInNestedRegions);
-      else
-        converter.collectSymbolSet(nestedEval, symbolsInNestedRegions, flag,
-                                   /*collectSymbols=*/true,
-                                   /*collectHostAssociatedSymbols=*/false);
+      else {
+        bool isOrderedConstruct = [&]() {
----------------
ergawy wrote:

Thanks both for the review.

> Could you check whether the same issue happens with the Critical construct?

That indeed causes the same issue. I will add a similar "fix" and a test before merging.

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


More information about the llvm-commits mailing list