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

--- Comment #36 from John David Anglin <danglin at gcc dot gnu.org> ---
Created attachment 56562
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56562&action=edit
fold_mem_offsets, prop_hardreg, rtl_dce and bbro dumps

Comment #33 is wrong.  The issue is not reload.  It's okay to pick a
call clobbered register as the code stands.

The initialization of the register used for the store at
offset 392B ends up outside the loop.  It ends up in a call clobbered
register and clobbered by the call to compiler_visit_expr1 in the loop.
This occurs around the second call to compiler_visit_expr1 in
compiler_call_helper

Various initializations get moved out of the loop between the f-m-o and bbro
passes.  I think it's the bbro pass that's at fault but it could be something
that happens before that causes the initialization to get moved outside the
loop.

Reply via email to