aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Analysis
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2012-09-04 23:16:20 +0000
committerDan Gohman <gohman@apple.com>2012-09-04 23:16:20 +0000
commit230768bd1316a012e88ac62689589fe5e2f10456 (patch)
treee927f405f096f2fae488d6163cbb3e967073f284 /include/llvm/Analysis
parentbe11991208f175892666887bc59fd9d32ee3e6a4 (diff)
downloadexternal_llvm-230768bd1316a012e88ac62689589fe5e2f10456.zip
external_llvm-230768bd1316a012e88ac62689589fe5e2f10456.tar.gz
external_llvm-230768bd1316a012e88ac62689589fe5e2f10456.tar.bz2
Make provenance checking conservative in cases when
pointers-to-strong-pointers may be in play. These can lead to retains and releases happening in unstructured ways, foiling the optimizer. This fixes rdar://12150909. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163180 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis')
-rw-r--r--include/llvm/Analysis/AliasAnalysis.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/Analysis/AliasAnalysis.h b/include/llvm/Analysis/AliasAnalysis.h
index 6c936f0..f587220 100644
--- a/include/llvm/Analysis/AliasAnalysis.h
+++ b/include/llvm/Analysis/AliasAnalysis.h
@@ -194,6 +194,11 @@ public:
return isNoAlias(Location(V1, V1Size), Location(V2, V2Size));
}
+ /// isNoAlias - A convenience wrapper.
+ bool isNoAlias(const Value *V1, const Value *V2) {
+ return isNoAlias(Location(V1), Location(V2));
+ }
+
/// isMustAlias - A convenience wrapper.
bool isMustAlias(const Location &LocA, const Location &LocB) {
return alias(LocA, LocB) == MustAlias;