https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123137
--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <[email protected]>: https://gcc.gnu.org/g:d96b9b689fbf892a4b51d5115a494ee846b0bbd2 commit r16-7568-gd96b9b689fbf892a4b51d5115a494ee846b0bbd2 Author: Richard Biener <[email protected]> Date: Wed Feb 18 10:05:02 2026 +0100 target/123137 - improve TLS call placement validity check When we search for a point in an inseration candidate block that has incoming live call clobbered regs we look for REG_DEAD notes of those and indication of FLAGS reg becoming live. But we consider insns like (insn 807 805 6 2 (parallel [ (set (subreg:SI (reg:HI 509) 0) (lshiftrt:SI (reg:SI 514) (const_int 16 [0x10]))) (clobber (reg:CC 17 flags)) ]) "/home/packages/tmp/onednn-3.9.1+ds/src/cpu/x64/brgemm/jit_brgemm_amx_uker.cpp":1891:25 1213 {*lshrsi3_1} (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_DEAD (reg:SI 514) (nil)))) making the FLAGS_REG live despite the REG_UNUSED note or the setter being a CLOBBER. The following optimizes this by in turn honoring REG_UNUSED for FLAGS_REG, pruning it immediately again. This reduces required expensive iteration to other candidate BBs, reducing compile-time for the testcase in the PR from hours to 6s. PR target/123137 * config/i386/i386-features.cc (ix86_emit_tls_call): Improve local FLAGS_REG liveness calculation. * g++.dg/torture/pr124137.C: New testcase.
