[PATCH] D27855: [InstCombine] try to extend nonnull-ness of arguments from a callsite back to its parent function
Sean Silva via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Dec 18 14:54:23 PST 2016
silvas added a reviewer: chandlerc.
silvas added a comment.
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).
More information about the llvm-commits