[all-commits] [llvm/llvm-project] 156d7d: [LiveIntervals] Remove unused subreg ranges in rep...

Jay Foad via All-commits all-commits at lists.llvm.org
Thu Sep 30 01:15:25 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 156d7d2df748fa12f1a2b3de502c12035ff8b3d6
      https://github.com/llvm/llvm-project/commit/156d7d2df748fa12f1a2b3de502c12035ff8b3d6
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2021-09-30 (Thu, 30 Sep 2021)

  Changed paths:
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/test/CodeGen/AMDGPU/dead-lane.mir
    M llvm/test/CodeGen/Thumb2/mve-sext-masked-load.ll

  Log Message:
  -----------
  [LiveIntervals] Remove unused subreg ranges in repairIntervalsInRange

If the old instructions mentioned a subreg that the new instructions do
not, remove the subrange for that subreg.

For example, in TwoAddressInstructionPass::eliminateRegSequence, if a
use operand in the REG_SEQUENCE has the undef flag then we don't
generate a copy for it so after the elimination there should be no live
interval at all for the corresponding subreg of the def.

This is a small step towards switching TwoAddressInstructionPass over
from LiveVariables to LiveIntervals. Currently this path is only tested
if you explicitly enable -early-live-intervals.

Differential Revision: https://reviews.llvm.org/D110542




More information about the All-commits mailing list