[LiveIntervals] Split live intervals on any dead def
authorDaniil Fukalov <1671137+dfukalov@users.noreply.github.com>
Mon, 25 Jul 2022 12:18:51 +0000 (15:18 +0300)
committerDaniil Fukalov <1671137+dfukalov@users.noreply.github.com>
Fri, 2 Sep 2022 17:00:22 +0000 (20:00 +0300)
commitb4e1b0e00d5d5ddcd11110f0e1104e5288e284b3
treea5978aa705b48db21f89dfc3b1af91c7c15c9eaa
parent1a4d851d272d141fb39ff9a0b2572dfa4411c5c5
[LiveIntervals] Split live intervals on any dead def

Each dead def of the same virtual register is required to be split into multiple
virtual registers with separate live intervals to avoid MachineVerifier error.

Partially fixes https://github.com/llvm/llvm-project/issues/56050 and
https://github.com/llvm/llvm-project/issues/56051

Reviewed By: qcolombet

Differential Revision: https://reviews.llvm.org/D130477
llvm/lib/CodeGen/LiveIntervals.cpp
llvm/test/CodeGen/AMDGPU/optimize-negated-cond-exec-masking-wave32.mir
llvm/test/CodeGen/AMDGPU/optimize-negated-cond-exec-masking.mir
llvm/test/CodeGen/ARM/cortex-a57-misched-mla.mir