Make provenance checking conservative in cases when
authorDan Gohman <gohman@apple.com>
Tue, 4 Sep 2012 23:16:20 +0000 (23:16 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 4 Sep 2012 23:16:20 +0000 (23:16 +0000)
commit230768bd1316a012e88ac62689589fe5e2f10456
treee927f405f096f2fae488d6163cbb3e967073f284
parentbe11991208f175892666887bc59fd9d32ee3e6a4
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
include/llvm/Analysis/AliasAnalysis.h
lib/Transforms/Scalar/ObjCARC.cpp
test/Transforms/ObjCARC/basic.ll
test/Transforms/ObjCARC/nested.ll