[PATCH] D89239: [RISCV][PrologEpilogInserter] "Float" emergency spill slots to avoid making them immediately unreachable from the stack pointer

Roger Ferrer Ibanez via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 12 11:31:17 PDT 2020


rogfer01 added a comment.

Looking into the origin of this problem, `git bisect` points at cb82de29601 <https://reviews.llvm.org/rGcb82de29601745d6c4beaf51ee1dbd1bf7acc186> but I don't think it is the culprit. Looks like we may have been a bit unlucky during register allocation with the new sequence of instructions.

After cb82de29601 <https://reviews.llvm.org/rGcb82de29601745d6c4beaf51ee1dbd1bf7acc186>, `-stop-before=prologepilog` shows we need a couple more of spill slots for RegAlloc. It is accessing to one of them what triggers the issue with the register scavenger and the emergency spill slot.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89239/new/

https://reviews.llvm.org/D89239



More information about the llvm-commits mailing list