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

--- Comment #11 from Mikael Pettersson <mikpelinux at gmail dot com> ---
(In reply to ktkachov from comment #9)
> So I did a bisection between 4.9 and 5.
> The offending commit is r217624:
> Author: vmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
> Date:   Sun Nov 16 05:00:30 2014 +0000
> 
>     2014-11-15  Vladimir Makarov  <vmaka...@redhat.com>
>     
>       * lra-remat.c (cand_transf_func): Process regno for
>       rematerialization too.
>       * lra.c (lra): Switch on rematerialization pass.
> 
> i.e. when the LRA rematiralisation pass was turned on.

Strange, my bisect identified r217588 as the culprit, although it also talks
about lra materialization:

2014-11-14  Vladimir Makarov  <vmaka...@redhat.com>

       * lra-int.h (lra_create_live_ranges): Add parameter.
       * lra-lives.c (temp_bitmap): Move higher.
       (initiate_live_solver): Move temp_bitmap initialization into
       lra_live_ranges_init.
       (finish_live_solver): Move temp_bitmap clearing into
       live_ranges_finish.
       (process_bb_lives): Add parameter.  Use it to control live info
       update and dead insn elimination.  Pass it to mark_regno_live and
       mark_regno_dead.
       (lra_create_live_ranges): Add parameter.  Pass it to
       process_bb_lives.
       (lra_live_ranges_init, lra_live_ranges_finish): See changes in
       initiate_live_solver and finish_live_solver.
       * lra-remat.c (do_remat): Process insn non-operand hard regs too.
       Use temp_bitmap to update avail_cands.
       * lra.c (lra): Pass new parameter to lra_create_live_ranges.  Move
       check with lra_need_for_spill_p after live range pass.  Switch on
       rematerialization pass.

Reply via email to