[PATCH] D27855: [InstCombine] try to extend nonnull-ness of arguments from a callsite back to its parent function

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 18 15:09:41 PST 2016

spatel added a comment.

In https://reviews.llvm.org/D27855#626136, @silvas wrote:

> This transform seems like it is sensitive to the order in which functions are visited when running function passes, which I think we try to avoid. I.e. if the ordering is right, we can propagate across arbitrarily many transitive calls; but if the ordering is wrong (e.g. we visit callers before callees) then we don't be able to propagate as much.
> You may want to check with Chandler about whether it makes sense to do this. Based on my understanding of the rules, this is too strong of a transformation (looks at too large of a scope) to be a function pass (the rules as far as I understand them are essentially "we should be able to conceptually process functions in parallel"; and if the order of visitation matters, then our output will suddenly be sensitive to thread execution order; I don't think we meet this bar today, but I think it is a useful guideline / thing to strive for).

This would be a good argument for Mehdi's suggestion? Ie, this should be in FunctionAttrs.cpp?


More information about the llvm-commits mailing list