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

--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> ---
The problem is since df_lr_bb_local_compute has

       /* If the def is to only part of the reg, it does
           not kill the other defs that reach here.  */
        if (!(DF_REF_FLAGS (def) & (DF_REF_PARTIAL | DF_REF_CONDITIONAL)))
          {
            unsigned int dregno = DF_REF_REGNO (def);
            bitmap_set_bit (&bb_info->def, dregno);
            bitmap_clear_bit (&bb_info->use, dregno);
          }

it doesn't consider

(insn 40 39 25 3 (set (subreg:SI (reg/v:DI 85 [ target ]) 4)
        (subreg:SI (reg:V2DI 90) 0)) "x.i":17:7 -1
     (nil))

as a def.

Reply via email to