[all-commits] [llvm/llvm-project] 7863cc: [LiveIntervals] Fix repairOldRegInRange for simple...
Jay Foad via All-commits
all-commits at lists.llvm.org
Fri Sep 24 03:57:49 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7863cc6c1c9e714de666f7df84fe9ef6ea7bb06c
https://github.com/llvm/llvm-project/commit/7863cc6c1c9e714de666f7df84fe9ef6ea7bb06c
Author: Jay Foad <jay.foad at amd.com>
Date: 2021-09-24 (Fri, 24 Sep 2021)
Changed paths:
M llvm/lib/CodeGen/LiveIntervals.cpp
A llvm/test/CodeGen/AMDGPU/twoaddr-regsequence.mir
M llvm/test/CodeGen/ARM/signext-inreg.ll
M llvm/test/CodeGen/X86/mul-shift-reassoc.ll
Log Message:
-----------
[LiveIntervals] Fix repairOldRegInRange for simple def cases
The fix applied in D23303 "LiveIntervalAnalysis: fix a crash in repairOldRegInRange"
was over-zealous. It would bail out when the end of the range to be
repaired was in the middle of the first segment of the live range of
Reg, which was always the case when the range contained a single def of
Reg.
This patch fixes it as suggested by Matthias Braun in post-commit review
on the original patch, and tests it by adding -early-live-intervals to
a selection of existing lit tests that now pass.
(Note that D23303 was originally applied to fix a crash in
SILoadStoreOptimizer, but that is now moot since D23814 updated
SILoadStoreOptimizer to run before scheduling so it no longer has to
update live intervals.)
Differential Revision: https://reviews.llvm.org/D110238
Unrevert with some changes to the tests:
- Add -verify-machineinstrs to check for remaining problems in live
interval support in TwoAddressInstructionPass.
- Drop test/CodeGen/AMDGPU/extract-load-i1.ll since it suffers from
some of those remaining problems.
More information about the All-commits
mailing list