https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92213
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2019-10-24 Ever confirmed|0 |1 --- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> --- 1. A pseudo register, 9625, was assigned to mask register k0 and df_set_regs_ever_live was called. 2. improve_inheritance reassigned 9625 to a different hard register without updating DF info. 3. mark_pseudo_dead was called on 9625 from process_bb_lives EXECUTE_IF_SET_IN_SPARSESET (pseudos_live, i) { update_pseudo_point (i, curr_point, DEF_POINT); mark_pseudo_dead (i); } mark_pseudo_dead did lra_assert (!HARD_REGISTER_NUM_P (regno)); lra_reg_info[regno].conflict_hard_regs |= hard_regs_live; with incorrect DF info.