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

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 23 09:24:10 PDT 2023

foad added reviewers: kparzysz, arsenm, qcolombet, fhahn, MatzeB.
foad added a comment.
Herald added a subscriber: wdng.

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?

If you write MIR by hand you can easily construct cases where LiveIntervalCalc leaves multiple connected components that need to be split, e.g.:

  S_NOP 0, implicit-def %0
  S_NOP 0, implicit %0
  S_NOP 0, implicit-def %0
  S_NOP 0, implicit %0

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

  rG LLVM Github Monorepo



More information about the llvm-commits mailing list