diff options
author | Dan Gohman <gohman@apple.com> | 2012-09-04 23:16:20 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2012-09-04 23:16:20 +0000 |
commit | 230768bd1316a012e88ac62689589fe5e2f10456 (patch) | |
tree | e927f405f096f2fae488d6163cbb3e967073f284 /include/llvm/Analysis | |
parent | be11991208f175892666887bc59fd9d32ee3e6a4 (diff) | |
download | external_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.h | 5 |
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; |