]> git.ipfire.org Git - thirdparty/gcc.git/commit
ext-dce: Don't refine live width with SUBREG mode if !TRULY_NOOP_TRUNCATION_MODES_P...
authorXi Ruoyao <xry111@xry111.site>
Sun, 11 May 2025 08:44:31 +0000 (16:44 +0800)
committerXi Ruoyao <xry111@xry111.site>
Wed, 4 Jun 2025 15:27:35 +0000 (23:27 +0800)
commit65f3a439c4f76fe780a30ac66969f51035c4bf98
tree05813ab4b644a622cb5cbe98a9a1b83554051de7
parentb876a7fc805b9c7999c933a943eeb3b833780256
ext-dce: Don't refine live width with SUBREG mode if !TRULY_NOOP_TRUNCATION_MODES_P [PR 120050]

If we see a promoted subreg and TRULY_NOOP_TRUNCATION says the
truncation is not a noop, then all bits of the inner reg are live.  We
cannot reduce the live mask to that of the mode of the subreg.

gcc/ChangeLog:

PR rtl-optimization/120050
* ext-dce.cc (ext_dce_process_uses): Break early if a SUBREG in
rhs is promoted and the truncation from the inner mode to the
outer mode is not a noop when handling SETs.
gcc/ext-dce.cc