[PATCH] D36160: Liveness issues in tail merging, and the ARM::LR saved-but-not-restored
Krzysztof Parzyszek via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 2 05:53:36 PDT 2017
kparzysz added a comment.
In https://reviews.llvm.org/D36160#828176, @efriedma wrote:
> The point I was trying to make is that we should always exclude LR from the set of registers added by addLiveOutsNoPristines: whether or not we actually convert the "bx lr" into a "pop", it isn't live out of the function, and we don't need to model it that way. So assignCalleeSavedSpillSlots wouldn't need any special logic to figure that out.
Ah, I see. However, if we want to support multiple save/restore points with different sets of registers, this patch may not help. If we kept track of what registers were saved/restored in which block, it would make things a lot easier.
Repository:
rL LLVM
https://reviews.llvm.org/D36160
More information about the llvm-commits
mailing list