[flang-commits] [flang] [flang][OpenMP] don't privatise loop index marked shared (PR #108176)

Leandro Lupori via flang-commits flang-commits at lists.llvm.org
Wed Sep 11 13:05:13 PDT 2024


================
@@ -2121,15 +2121,18 @@ void OmpAttributeVisitor::CreateImplicitSymbols(
       }
       return lastDeclSymbol;
     };
-    auto makeSharedSymbol = [&]() {
+    auto makeSharedSymbol = [&](bool setFlag) {
       const Symbol *hostSymbol =
           lastDeclSymbol ? lastDeclSymbol : &symbol->GetUltimate();
-      MakeAssocSymbol(symbol->name(), *hostSymbol,
+      Symbol &assocSymbol = MakeAssocSymbol(symbol->name(), *hostSymbol,
           context_.FindScope(dirContext.directiveSource));
+      if (setFlag) {
+        assocSymbol.set(Symbol::Flag::OmpShared);
+      }
     };
-    auto useLastDeclSymbol = [&]() {
+    auto useLastDeclSymbol = [&](bool setFlag) {
       if (lastDeclSymbol) {
-        makeSharedSymbol();
+        makeSharedSymbol(setFlag);
----------------
luporl wrote:

`useLastDeclSymbol` should just create an association, without adding any DSA.
So `setFlag` can be removed and this line replaced by `makeSharedSymbol(/*addFlag=*/false);`.

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


More information about the flang-commits mailing list