[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