Introduce dereferenceable, dereferenceable_or_null metadata for loads with the same semantic as corresponding attributes.
This patch depends on http://reviews.llvm.org/D9253
| Paths 
 |  Differential  D9365  
Dereferenceable, dereferenceable_or_null metadata for loads ClosedPublic Authored by apilipenko on Apr 30 2015, 3:08 AM. 
Details Summary Introduce dereferenceable, dereferenceable_or_null metadata for loads with the same semantic as corresponding attributes. This patch depends on http://reviews.llvm.org/D9253 
Diff Detail 
 Event Timelineapilipenko retitled this revision from  to Dereferenceable, dereferenceable_or_null metadata for loads. apilipenko updated this object. Comment Actions Code wise, looks fine. The tests need a bit more coverage and you need to update the LangRef. Once that's done, should be easy to do a final signoff. Although, am I correct in believing your second test is dependent on your LICM changes? If so, you might want to separate that test case for the moment. I suspect this patch will be landing first. 
 This revision now requires changes to proceed.May 5 2015, 4:24 PM Comment Actions ValueTracking part is also dependant on LICM changes. So I plan to integrate it after the LICM patch. This revision is now accepted and ready to land.May 11 2015, 1:28 PM sanjoy edited edge metadata.Comment Actions Minor comment inline for post-commit review. 
 Closed by commit rL237720: Dereferenceable, dereferenceable_or_null metadata for loads (authored by sanjoy).  ·  Explain WhyMay 19 2015, 1:14 PM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
 
Diff 26085 llvm/trunk/docs/LangRef.rst
 
 llvm/trunk/include/llvm/IR/LLVMContext.h
 llvm/trunk/lib/Analysis/ValueTracking.cpp
 llvm/trunk/lib/IR/LLVMContext.cpp
 llvm/trunk/test/Analysis/ValueTracking/memory-dereferenceable.ll
 llvm/trunk/test/Transforms/LICM/hoist-deref-load.ll
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||