[PATCH] D29999: [InlineFunction] add nonnull assumptions based on argument attributes

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 15 10:39:30 PST 2017


spatel created this revision.
Herald added a subscriber: mcrosier.

This was suggested in https://reviews.llvm.org/D27855: have the inliner add assumptions, so we don't lose nonnull info provided by argument attributes.

This still doesn't solve PR28430 (dyn_cast), but this gets us closer...

>From the use of 'dereferenceable' in the test cases, you can guess that I was drafting an alternate patch that would provide a stronger transfer of the attribute from the callee to the caller, but that would be limited in the same way that https://reviews.llvm.org/D27855 was.

Please let me know if this needs to be disabled by default pending clang fixes.


https://reviews.llvm.org/D29999

Files:
  lib/Transforms/Utils/InlineFunction.cpp
  test/Transforms/Inline/arg-attr-propagation.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D29999.88576.patch
Type: text/x-patch
Size: 5136 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170215/1fff3ab8/attachment-0001.bin>


More information about the llvm-commits mailing list