[PATCH] D128005: [SelectionDAG] Don't apply MinRCSize constraint in InstrEmitter::AddRegisterOperand for IMPLICIT_DEF sources.

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 16 15:01:54 PDT 2022


reames added a comment.

In D128005#3590458 <https://reviews.llvm.org/D128005#3590458>, @arsenm wrote:

> In D128005#3590452 <https://reviews.llvm.org/D128005#3590452>, @reames wrote:
>
>> As a guess, I think this is a workaround for the fact that we can't spill to other register classes.
>
> But the allocator does look for shared common superclasses to copy to before spilling, so I don't understand this

Huh, didn't realize we did that actually.  Cool.

In D128005#3590493 <https://reviews.llvm.org/D128005#3590493>, @arsenm wrote:

> I guess this doesn't happen for fast regalloc which breaks every normal assumption

Sounds entirely plausible.

Which raises the question: what would be the impact of only applying this heuristic in fast regalloc?  Or teaching fast reglloc how to do sub-class moves so we can avoid this?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D128005



More information about the llvm-commits mailing list