[PATCH] D36160: Liveness issues in tail merging, and the ARM::LR saved-but-not-restored

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 1 12:07:39 PDT 2017


efriedma added a comment.

Oh, I see what you mean... we don't actually decide whether to "pop {pc}" until ARMFrameLowering::emitPopInst.  Actually, there's another potential problem there: if shrink-wrapping ever allows emitting multiple epilogues (https://reviews.llvm.org/D36109 etc.), we might not make the same decision for each epilogue.

Long-term, it might be more straightforward to add implicit uses to return instructions, similar to the way we add implicit defs to calls, so we don't have to make return blocks a special case in LivePhysRegs.  Not sure how hard that would be.


Repository:
  rL LLVM

https://reviews.llvm.org/D36160





More information about the llvm-commits mailing list