[PATCH] D151227: RFC: LiveIntervalCalc: Always split separate components

Quentin Colombet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 24 05:54:19 PDT 2023


qcolombet added a comment.

> I need some help understanding the background here. Why does LiveIntervals::computeVirtRegs only call splitSeparateComponents if it detected dead defs in a live interval? Is this some artifact of the way MIR is typically constructed by instruction selection?

I think, yes, it's just what a regular compilation flow is supposed to produce.

If you check the machine verifier, you'll see that the "separate component" property is checked, hence the different passes are not supposed to break that.

Having something more robust here sounds reasonable, I'm just worried about the compile time impact of this change. (I don't remember if splitting components is expensive.)

> Is this something that never normally occurs in MIR? MachineVerifier does not complain about it.

That's strange, the verifier is supposed to catch this kind of things at https://github.com/llvm/llvm-project/blob/29dc47a9eeeb2e080170109e3e2fb3cd5aad58d2/llvm/lib/CodeGen/MachineVerifier.cpp#L3333


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D151227



More information about the llvm-commits mailing list