diff --git a/llvm/lib/Transforms/IPO/OpenMPOpt.cpp b/llvm/lib/Transforms/IPO/OpenMPOpt.cpp --- a/llvm/lib/Transforms/IPO/OpenMPOpt.cpp +++ b/llvm/lib/Transforms/IPO/OpenMPOpt.cpp @@ -3800,6 +3800,13 @@ /* UpdateAfterInit */ false); return false; }); + + auto &GlobalizationRFI = OMPInfoCache.RFIs[OMPRTL___kmpc_alloc_shared]; + auto CreateAA = [&](Use &U, Function &F) { + A.getOrCreateAAFor(IRPosition::function(F)); + return false; + }; + GlobalizationRFI.foreachUse(SCC, CreateAA); } // Create CallSite AA for all Getters. @@ -3822,12 +3829,6 @@ GetterRFI.foreachUse(SCC, CreateAA); } - auto &GlobalizationRFI = OMPInfoCache.RFIs[OMPRTL___kmpc_alloc_shared]; - auto CreateAA = [&](Use &U, Function &F) { - A.getOrCreateAAFor(IRPosition::function(F)); - return false; - }; - GlobalizationRFI.foreachUse(SCC, CreateAA); // Create an ExecutionDomain AA for every function and a HeapToStack AA for // every function if there is a device kernel.