Possible typo in LRA

Jeff Law law@redhat.com
Fri Feb 6 07:48:00 GMT 2015


On 02/05/15 14:36, sarah@hederstierna.com wrote:
> Hi
>
> When reviewing some code from LRA, I just saw some lines that looked a bit strange,
> could it be a possible typo perhaps?
>
> The file "lra.c" from GC5 master branch current date
>
> Line 469:
>
> 	      /* Try x = index_scale; x = x + disp; x = x + base.  */
> 	      last = get_last_insn ();
> 	      rtx_insn *move_insn = emit_move_insn (x, index_scale);
> 	      ok_p = false;
> 	      if (recog_memoized (move_insn) >= 0)
> 		{
> 		  rtx insn = emit_add2_insn (x, disp);
> 		  if (insn != NULL_RTX)
> 		    {
> 		      insn = emit_add2_insn (x, disp);
> 		      if (insn != NULL_RTX)
> 			ok_p = true;
> 		    }
> 		}
>
> Shouldn't the code be as the comment suggest to in the second call to emit_add2_insn use 'base' ?
>
> -		      insn = emit_add2_insn (x, disp);
> +		      insn = emit_add2_insn (x, base);
>
> Maybe the code is right, I tried to mail vmakarov, some months ago, but did not get any reply.
> But it looks like I typo, so I just wanted to verify it so its not a bug,
It looks like a bug to me.

Can you please make that change in a local tree and bootstrap/regression 
test it?

jeff



More information about the Gcc mailing list