[PATCH] D65402: [Attributor][MustExec] Deduce dereferenceable and nonnull attribute using MustBeExecutedContextExplorer
Hideto Ueno via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 14 12:20:57 PDT 2019
uenoku updated this revision to Diff 215186.
uenoku added a comment.
Refactor
- Create `accumulatePredOnMustBeExecutedContext` as `Attributor` member function
- Look at known information of Argument in the callsite argument updateImpl. It is not allowed to look at **assumption** in argument but I think it is sound to look at **known** information.
This patch now fails `Transforms/FunctionAttrs/read_write_returned_arguments_scc.ll`due to Attributor verification.
I think this is because in some case, CallSiteArgumentAttribute reaches pessimistic fixpoint faster than the function ArgumentAttribute gets known information.
To introduce backward propagation of known information, we need to fix this problem.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65402/new/
https://reviews.llvm.org/D65402
Files:
llvm/include/llvm/Analysis/ValueTracking.h
llvm/include/llvm/Transforms/IPO/Attributor.h
llvm/lib/Transforms/IPO/Attributor.cpp
llvm/test/Transforms/FunctionAttrs/arg_nocapture.ll
llvm/test/Transforms/FunctionAttrs/arg_returned.ll
llvm/test/Transforms/FunctionAttrs/dereferenceable.ll
llvm/test/Transforms/FunctionAttrs/liveness.ll
llvm/test/Transforms/FunctionAttrs/nonnull.ll
llvm/test/Transforms/FunctionAttrs/nosync.ll
llvm/test/Transforms/FunctionAttrs/read_write_returned_arguments_scc.ll
llvm/test/Transforms/InferFunctionAttrs/dereferenceable.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65402.215186.patch
Type: text/x-patch
Size: 27915 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190814/021cca41/attachment.bin>
More information about the llvm-commits
mailing list