[all-commits] [llvm/llvm-project] b182b4: [CodeGen] Correctly classify/mark dead defs when a...
Lucas Ramirez via All-commits
all-commits at lists.llvm.org
Tue Sep 8 02:18:14 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b182b415d9b2447cf1fd7231ebe28a96cfd1f9af
https://github.com/llvm/llvm-project/commit/b182b415d9b2447cf1fd7231ebe28a96cfd1f9af
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/RegisterPressure.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/RegisterPressure.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/RegisterPressureTest.cpp
Log Message:
-----------
[CodeGen] Correctly classify/mark dead defs when adjusting lane liveness (#215595)
Despite what the documentation of `adjustLaneLiveness` states, the
method never sets dead flags on dead def operands, even when missing
dead flags can later lead to machine verifier errors.
This makes the method identify dead definitions from definitions that
are initially thought to be alive, and makes it add a dead flag on the
last definition of a virtual register, matching the behavior expected by
the machine verifier (ref. "Instruction ending live segment on dead slot
has no dead flag").
`adjustLaneLiveness` and `detectDeadDefs` now also use the same
mechanism to identify dead definitions. It relies on comparing the
defined lanes of a definition with those that stay alive after it.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list