[WIP][Attributor] AAReachability Attribute
authorPankaj Gode <pgode@codeaurora.org>
Fri, 22 Nov 2019 13:10:47 +0000 (18:40 +0530)
committerPankaj Gode <pgode@codeaurora.org>
Fri, 22 Nov 2019 13:10:47 +0000 (18:40 +0530)
commit04945c92ce00e5388be3ab493135b934a25903b4
tree46001a77f25434a648b3e251c3a83117ddd8b8e9
parent96cf5c8d4784cd8763977608e2890c0683ebf7b4
[WIP][Attributor] AAReachability Attribute

     Summary: Working towards Johannes's suggestion for fixme, in Attributor's Noalias attribute deduction.
(ii) Check whether the value is captured in the scope using AANoCapture.
FIXME: This is conservative though, it is better to look at CFG and
// check only uses possibly executed before this call site.

A Reachability abstract attribute answers the question "does execution at point A potentially reach point B". If this question is answered with false for all other uses of the value that might be captured, we know it is not *yet* captured and can continue with the noalias deduction. Currently, information AAReachability provides is completely pessimistic.

    Reviewers: jdoerfert

    Reviewed By: jdoerfert

    Subscribers: uenoku, sstefan1, hiraditya, llvm-commits

    Differential Revision: https://reviews.llvm.org/D70233
llvm/include/llvm/Transforms/IPO/Attributor.h
llvm/lib/Transforms/IPO/Attributor.cpp