summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/AliasAnalysis.cpp
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2009-02-14 10:56:35 +0000
committerDuncan Sands <baldrick@free.fr>2009-02-14 10:56:35 +0000
commit73247d2edc860c4c4ca6f2d5b3fef38d6ac0f68a (patch)
tree02ec868c32ef2459224c76d75a65c1d5f38965b8 /llvm/lib/Analysis/AliasAnalysis.cpp
parent0575bfdeaace7237e1bd83ae22cf5a19182f2d3d (diff)
downloadbcm5719-llvm-73247d2edc860c4c4ca6f2d5b3fef38d6ac0f68a.tar.gz
bcm5719-llvm-73247d2edc860c4c4ca6f2d5b3fef38d6ac0f68a.zip
Generalize some alias analysis logic from atomic
intrinsics to any IntrWriteArgMem intrinsics. llvm-svn: 64551
Diffstat (limited to 'llvm/lib/Analysis/AliasAnalysis.cpp')
-rw-r--r--llvm/lib/Analysis/AliasAnalysis.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/AliasAnalysis.cpp b/llvm/lib/Analysis/AliasAnalysis.cpp
index 67b2faac55d..c5523ec4634 100644
--- a/llvm/lib/Analysis/AliasAnalysis.cpp
+++ b/llvm/lib/Analysis/AliasAnalysis.cpp
@@ -124,8 +124,13 @@ AliasAnalysis::getModRefBehavior(Function *F,
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;
}
OpenPOWER on IntegriCloud