[Bug middle-end/66334] cleanup block fails to initialize EBX

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Sun May 31 13:16:00 GMT 2015


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

--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to H.J. Lu from comment #4)
> 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?

process_bb_node_lives in ira-lives.c has the same issue.


More information about the Gcc-bugs mailing list