[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