[all-commits] [llvm/llvm-project] 6858a1: [LiveIntervals] Fix incorrect range (re)constructi...

Daniil Fukalov via All-commits all-commits at lists.llvm.org
Fri Jul 8 06:07:38 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6858a17f66f6d609e2d801c443da951c391636a0
      https://github.com/llvm/llvm-project/commit/6858a17f66f6d609e2d801c443da951c391636a0
  Author: Daniil Fukalov <1671137+dfukalov at users.noreply.github.com>
  Date:   2022-07-08 (Fri, 08 Jul 2022)

  Changed paths:
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/unittests/MI/LiveIntervalTest.cpp

  Log Message:
  -----------
  [LiveIntervals] Fix incorrect range (re)construction from subranges.

After D82916 `updateAllRanges()` started to fix holes in main range with
subranges but it fails on instructions with two subregs def which are parts of
one reg. The main range constructed with //all// subranges of subregs just after
processing the first operand. So the main range gets intervals from subranges
those are not updated yet.

The patch takes into account lane mask to update the main range.

Reviewed By: rampitec, arsenm

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




More information about the All-commits mailing list