aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2011-08-22 17:29:37 +0000
committerDan Gohman <gohman@apple.com>2011-08-22 17:29:37 +0000
commitd446460f42a75b3e5f6234e7ba3bb1ccf7894c9f (patch)
tree8c8ead32642075f6131038df972ebfeaea116dce /lib/Transforms
parent1b31ea8f935d4b643abf100c4943180c9ed8ba1a (diff)
downloadexternal_llvm-d446460f42a75b3e5f6234e7ba3bb1ccf7894c9f.zip
external_llvm-d446460f42a75b3e5f6234e7ba3bb1ccf7894c9f.tar.gz
external_llvm-d446460f42a75b3e5f6234e7ba3bb1ccf7894c9f.tar.bz2
Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138243 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r--lib/Transforms/Scalar/ObjCARC.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Transforms/Scalar/ObjCARC.cpp b/lib/Transforms/Scalar/ObjCARC.cpp
index 9654b1e..652d8e0 100644
--- a/lib/Transforms/Scalar/ObjCARC.cpp
+++ b/lib/Transforms/Scalar/ObjCARC.cpp
@@ -344,6 +344,10 @@ static InstructionClass GetInstructionClass(const Value *V) {
break;
default:
// For anything else, check all the operands.
+ // Note that this includes both operands of a Store: while the first
+ // operand isn't actually being dereferenced, it is being stored to
+ // memory where we can no longer track who might read it and dereference
+ // it, so we have to consider it potentially used.
for (User::const_op_iterator OI = I->op_begin(), OE = I->op_end();
OI != OE; ++OI)
if (IsPotentialUse(*OI))