[PATCH] D31908: [AntiDepBreaker] Don't rename callee saved register restore instruction

Krzysztof Parzyszek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 3 10:53:19 PDT 2017


kparzysz added a comment.

In https://reviews.llvm.org/D31908#743873, @Carrot wrote:

> In https://reviews.llvm.org/D31908#741341, @kparzysz wrote:
>
> > We add all callee saved registers as live-in on all paths from the restores to the exit, so this problem shouldn't affect us.  Actually the anti-dep breaker was the reason why we did it in the first place.
>
>
> The second loop in function AggressiveAntiDepBreaker::StartBlock tries to do the work you described. Unfortunately it doesn't work with shrink wrapping. It says:


This should be done in PEI, not in the anti-dependency breaker.  This is where the CSR registers get the concrete saving/restoring code.  Passes running afterwards should not need to know about what register is CSR or not (except pristine registers, but that's general enough).


https://reviews.llvm.org/D31908





More information about the llvm-commits mailing list