[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