[llvm] d41f93d - [OpenMP] Readnone calls do not have non-local side-effects

Johannes Doerfert via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 23 22:48:00 PST 2023


Author: Johannes Doerfert
Date: 2023-01-23T22:45:47-08:00
New Revision: d41f93dae98964a1e75569d622f493ed914a1f73

URL: https://github.com/llvm/llvm-project/commit/d41f93dae98964a1e75569d622f493ed914a1f73
DIFF: https://github.com/llvm/llvm-project/commit/d41f93dae98964a1e75569d622f493ed914a1f73.diff

LOG: [OpenMP] Readnone calls do not have non-local side-effects

Added: 
    

Modified: 
    llvm/lib/Transforms/IPO/OpenMPOpt.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/IPO/OpenMPOpt.cpp b/llvm/lib/Transforms/IPO/OpenMPOpt.cpp
index b2356ef346da..09178a231736 100644
--- a/llvm/lib/Transforms/IPO/OpenMPOpt.cpp
+++ b/llvm/lib/Transforms/IPO/OpenMPOpt.cpp
@@ -2940,7 +2940,7 @@ ChangeStatus AAExecutionDomainFunction::updateImpl(Attributor &A) {
         ED.IsReachedFromAlignedBarrierOnly =
             IsNoSync && ED.IsReachedFromAlignedBarrierOnly;
         AlignedBarrierLastInBlock &= ED.IsReachedFromAlignedBarrierOnly;
-        ED.EncounteredNonLocalSideEffect |= true;
+        ED.EncounteredNonLocalSideEffect |= !CB->doesNotAccessMemory();
         if (!IsNoSync)
           SyncInstWorklist.push_back(&I);
       }


        


More information about the llvm-commits mailing list