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 ActionsMinor 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
|