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

Leandro Lupori via llvm-commits llvm-commits at lists.llvm.org
Thu May 16 06:20:27 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 = [&]() {
----------------
luporl wrote:

https://github.com/llvm/llvm-project/pull/90671 fixed symbol handling in semantics, which was enough to fix https://github.com/llvm/llvm-project/issues/78936, but not https://github.com/llvm/llvm-project/issues/75767.

Maybe the issue here is similar to https://github.com/llvm/llvm-project/issues/75767.
In any case, I agree that this can be fixed separately.

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


More information about the llvm-commits mailing list