https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110313
--- Comment #7 from Tobias Burnus <burnus at gcc dot gnu.org> --- Correction with regards to reg_info_size: I claimed that reg_info_size = 3659 > 3483 – but that's not quite true. That's the result when doing 'p reg_info_size' in lra-constraints.cc. When going 'up' in the debugger to lra.cc, the value is there: reg_info_size == 2723 It is not completely clear which 'reg_info_size' gdb picks up in lra-constraints.cc as there are: lra.cc:static int reg_info_size; reginfo.cc:static int reg_info_size; and none in lra-constraints.cc. * * * In any case, the lra.c's reg_info_size is increased via * lra.c's init_reg_info + expand_reg_info; the latter is also called via expand_reg_data and add_regs_to_insn_regno_info. And indirectly via lra_emit_move, lra_create_new_reg_with_unique_value and lra_emit_add. The last 3 are non-static and also called in lra-constraints.cc * reginfo.cc's allocate_reg_info is set in allocate_reg_info, reginfo_init and resize_reg_info - and the last one is non-static and called via: lra_get_regno_hard_regno and lra_get_allocno_class and togather with the lra.c's one in via the lra_emit_* and lra_create_* It seems as if some of the lra-constraints.cc calls that call lra_get_allocno_class or lra_get_regno_hard_regno - also need to call something which increases the size of lra.c's reg_info_size and the associated lra_reg_info array.