[PATCH] D45308: [IPRA] Do not collect register usage information on functions that can be derefined

Kit Barton via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 5 08:23:33 PDT 2018


kbarton added a comment.

Thanks @vivekvpandya for getting back to me.
I'll work on updating the patch now. I think we're on the same page with the potential problems.
Essentially, there seems to be some assumptions that when EnableIIPRA is set, it will work properly and add additional information that can be used. Now, with the early exit due to isDefinitionExact, that is not necessarily the case. So, I'm trying to put a check in to validate that IPRA was successful before using the information. This way, if we extend the checks in IPRA in the future, we don't need to continually replicate them in other places that rely on IPRA being successful.

Regarding the prologue/epilogue inserter, I don't immediately see any use of the PRUI collected by IPRA. I'll look closer though, as I might have missed something. But, essentially if anyone tries to use the regmask in PRUI, and that mask is NULL, they must assume IPRA was not successful and fallback on the original calling conventions for saving registers across calls.


https://reviews.llvm.org/D45308





More information about the llvm-commits mailing list