[RS6000, patch] pr57936, ICE in rs6000_secondary_reload_inner
Ulrich Weigand
uweigand@de.ibm.com
Wed Feb 26 14:49:00 GMT 2014
Alan Modra wrote:
> Some notes: Setting old to rl->in_reg when it is a subreg doesn't
> change the cases where delete_output_reload is called, since that call
> is protected by REG_P (old). The same thing goes for the following:
>
> /* If we are reloading a pseudo-register that was set by the previous
> insn, see if we can get rid of that pseudo-register entirely
> by redirecting the previous insn into our reload register. */
>
> else if (optimize && REG_P (old)
>
> Perhaps the above could handle subregs too, but I figure such a change
> probably isn't good for stage 4. So the net result of this patch
> ought to just change the conditions under which we recheck secondary
> reloads.
Agreed on both points.
> Bootstrapped and regression tested powerpc64-linux, x86_64-linux
> bootstrap still chugging along. OK to apply, assuming no regressions?
>
> PR target/57935
> * reload1.c (emit_input_reload_insns): When reload_override_in,
> set old to rl->in_reg when rl->in_reg is a subreg.
This is OK, assuming no regressions.
Thanks,
Ulrich
--
Dr. Ulrich Weigand
GNU/Linux compilers and toolchain
Ulrich.Weigand@de.ibm.com
More information about the Gcc-patches
mailing list