https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123137

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to GCC Commits from comment #6)
> 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.

That was for PR124137

Reply via email to