[PATCH] Top-Down FunctionAttrs propagation for noalias, dereferenceable and nonnull inference
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...
More information about the llvm-commits