[LiveIntervals] Replace handleMoveIntoBundle
authorCarl Ritson <carl.ritson@amd.com>
Thu, 16 Apr 2020 10:57:55 +0000 (19:57 +0900)
committerCarl Ritson <carl.ritson@amd.com>
Thu, 16 Apr 2020 10:58:19 +0000 (19:58 +0900)
commit43e2460a89abf6aace35973c682e1723d5f16f10
treebccb19c77a8a533ad79878fc7536bfb93409a705
parent94d6dd01ba439ffcef7f7873622cf6ae99bcf5cb
[LiveIntervals] Replace handleMoveIntoBundle

Summary:
The current handleMoveIntoBundle implementation is unusable,
it attempts to access the slot indexes of bundled instructions.
It also leaves bundled instructions with slot indexes assigned.

Replace handleMoveIntoBundle this with a more explicit
handleMoveIntoNewBundle function which recalculates the live
intervals for all instructions moved into a newly formed bundle,
and removes slot indexes from these instructions.

Reviewers: arsenm, MaskRay, kariddi, tpr, qcolombet

Reviewed By: qcolombet

Subscribers: MatzeB, wdng, hiraditya, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77969
llvm/include/llvm/CodeGen/LiveIntervals.h
llvm/include/llvm/CodeGen/SlotIndexes.h
llvm/lib/CodeGen/LiveIntervals.cpp
llvm/lib/CodeGen/SlotIndexes.cpp
llvm/unittests/MI/LiveIntervalTest.cpp