Revert "[FunctionAttrs] Remove redundant assignment."
[oota-llvm.git] / lib / Transforms / IPO / FunctionAttrs.cpp
index 9c33f995789e6e1a7ea06154b5f387f15060b5a3..e699c5e0df5cf100581e5dba163b486b2b0c8e10 100644 (file)
@@ -486,6 +486,8 @@ determinePointerReadAttrs(Argument *A,
         return Attribute::None;
       }
 
         return Attribute::None;
       }
 
+      Captures &= !CS.doesNotCapture(UseIndex);
+
       // Since the optimizer (by design) cannot see the data flow corresponding
       // to a operand bundle use, these cannot participate in the optimistic SCC
       // analysis.  Instead, we model the operand bundle uses as arguments in
       // Since the optimizer (by design) cannot see the data flow corresponding
       // to a operand bundle use, these cannot participate in the optimistic SCC
       // analysis.  Instead, we model the operand bundle uses as arguments in