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

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 26 17:04:17 PDT 2017


MatzeB added reviewers: hfinkel, kparzysz.
MatzeB added a comment.

This hits on a known problem in llvms CodeGen today: There is no good way to differentiate between a register use/def that is required because of ABI (or other) constraints and just a normal assignment by the register allocator. This makes recoloring after register really tricky (or plain wrong at times).

I personally don't care about AggressiveAntiDepBreaker too much. However this "fix" seems pretty pessimistic/conservative to me: As I understand it you just exclude all the callee saves from renaming. I think targets that rely on the anti dep breaker (seems to be used by PowerPC/Hexagon today) should at least do some benchmarking before accepting this.


https://reviews.llvm.org/D31908





More information about the llvm-commits mailing list