summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/NoAliasAnalysis.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2014-10-04 22:44:29 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2014-10-04 22:44:29 +0000
commit2e52f02864b92ad8a50e5d38635cf64312d0e02c (patch)
tree85e932121a7e0aa78a59fbd637540ef9c10ce43d /llvm/lib/Analysis/NoAliasAnalysis.cpp
parent04a156139e03fc42354b8e538feab6ea08be1a78 (diff)
downloadbcm5719-llvm-2e52f02864b92ad8a50e5d38635cf64312d0e02c.tar.gz
bcm5719-llvm-2e52f02864b92ad8a50e5d38635cf64312d0e02c.zip
Make AAMDNodes ctor and operator bool (!!!) explicit, mop up bugs and weirdness exposed by it.
llvm-svn: 219068
Diffstat (limited to 'llvm/lib/Analysis/NoAliasAnalysis.cpp')
-rw-r--r--llvm/lib/Analysis/NoAliasAnalysis.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/NoAliasAnalysis.cpp b/llvm/lib/Analysis/NoAliasAnalysis.cpp
index 139fa38b8a9..483a81e93a7 100644
--- a/llvm/lib/Analysis/NoAliasAnalysis.cpp
+++ b/llvm/lib/Analysis/NoAliasAnalysis.cpp
@@ -57,8 +57,11 @@ namespace {
Location getArgLocation(ImmutableCallSite CS, unsigned ArgIdx,
ModRefResult &Mask) override {
Mask = ModRef;
- return Location(CS.getArgument(ArgIdx), UnknownSize,
- CS.getInstruction()->getMetadata(LLVMContext::MD_tbaa));
+ AAMDNodes AATags(
+ CS.getInstruction()->getMetadata(LLVMContext::MD_tbaa),
+ CS.getInstruction()->getMetadata(LLVMContext::MD_alias_scope),
+ CS.getInstruction()->getMetadata(LLVMContext::MD_noalias));
+ return Location(CS.getArgument(ArgIdx), UnknownSize, AATags);
}
ModRefResult getModRefInfo(ImmutableCallSite CS,
OpenPOWER on IntegriCloud