Generalize some alias analysis logic from atomic
intrinsics to any IntrWriteArgMem intrinsics.
llvm-svn: 64551
diff --git a/llvm/lib/Analysis/AliasAnalysis.cpp b/llvm/lib/Analysis/AliasAnalysis.cpp
index 67b2faa..c5523ec 100644
--- a/llvm/lib/Analysis/AliasAnalysis.cpp
+++ b/llvm/lib/Analysis/AliasAnalysis.cpp
@@ -124,8 +124,13 @@
if (F->doesNotAccessMemory())
// Can't do better than this.
return DoesNotAccessMemory;
- else if (F->onlyReadsMemory())
+ if (F->onlyReadsMemory())
return OnlyReadsMemory;
+ if (unsigned id = F->getIntrinsicID()) {
+#define GET_INTRINSIC_MODREF_BEHAVIOR
+#include "llvm/Intrinsics.gen"
+#undef GET_INTRINSIC_MODREF_BEHAVIOR
+ }
}
return UnknownModRefBehavior;
}