This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Possible typo in LRA



On 2015-02-05 4:36 PM, 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,


Sorry, Fredrik. I guess I overlooked your email. It is really a typo. I tried to consider all possible situations for all possible targets. Not all of them occurs or occurs extremely rarely, e.g. the current code to be run needs probably a lot of coincidences (a specific target and unusual equiv substitutions).

I'll commit this change today after testing as I remember you have no write access to GCC repository.

Thanks for reporting this again (sometimes we overlook emails as we have too many of them). And thanks for checking LRA code.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]