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

--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> ---
This seems to work:

diff --git a/gcc/lra-lives.c b/gcc/lra-lives.c
index 085411e..a0c6171 100644
--- a/gcc/lra-lives.c
+++ b/gcc/lra-lives.c
@@ -979,8 +979,7 @@ process_bb_lives (basic_block bb, int &curr_point, bool
dead_insn_p)
         allocate such regs in this case.  */
       if (!cfun->has_nonlocal_label && bb_has_abnormal_call_pred (bb))
        for (px = 0; px < FIRST_PSEUDO_REGISTER; px++)
-         if (call_used_regs[px])
-           make_hard_regno_born (px, false);
+         make_hard_regno_born (px, false);
     }

   bool live_change_p = false;

Vladimir, what is the correct fix?

Reply via email to