[PATCH] D67257: New statepoint spilling mechanism

zuojian lin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 6 20:32:16 PDT 2019


linzj added a comment.

In D67257#1661362 <https://reviews.llvm.org/D67257#1661362>, @qcolombet wrote:

> Hi,
>
> I don't think this patch is correct in the sense that having statepoints depend on GreedyRegAlloc is a non-starter.
>  Indeed, that means that now any configuration that doesn't use greedy reg alloc (like fast or basic reg alloc) will generate incorrect code with respect to state point spilling.
>
> What problem do you see with the current handling of statepoints?
>
> Cheers,
> -Quentin


Thanks for the review. The problem canbe seen when you llc the testcase I uploaded. With my patch, the function only saves 56 bytes for variables. Without, it will save much more. And that's only a simple case. In the situation I met before, some function reloads for the statepoint's spill, Then spill for statepoint's reload. They are not compatible, some one of them should leave.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D67257





More information about the llvm-commits mailing list