[PATCH] Top-Down FunctionAttrs propagation for noalias, dereferenceable and nonnull inference

Chandler Carruth chandlerc at google.com
Mon Jul 21 19:46:08 PDT 2014


On Mon, Jul 21, 2014 at 7:31 PM, Nick Lewycky <nlewycky at google.com> wrote:

> On 21 July 2014 17:08, hfinkel at anl.gov <hfinkel at anl.gov> wrote:
>
>> Use isDereferenceablePointer (which checks things like argument's
>> dereferenceable attribute) in addition to using isSafeToLoadUnconditionally
>> (which is mostly useful for its local instruction scan). Also fixed up one
>> of the test cases.
>>
>
> The iteration order of the functions within an SCC is non-deterministic
> and may result in different attributes being added depending on pointer
> comparison. Consider the case of two leaf functions sharing the same
> parent, then add call edges between those two "leaf" functions. The df
> iteration may visit either of those two first, and if one of them depends
> on the attributes on the other, but the other does not, then you have an
> order dependence.
>

Would iterating to fix-point within an SCC be a reasonable solution?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140721/ded08255/attachment.html>


More information about the llvm-commits mailing list