This is the mail archive of the gcc-patches@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: [PATCH/RFC] Avoid invalid subregs during reload, call for testers


On Wed, Dec 06, 2006 at 07:29:23PM +0100, Rask Ingemann Lambertsen wrote:
> On Wed, Dec 06, 2006 at 07:59:05AM -0800, Ian Lance Taylor wrote:
> [first part of reload1.c patch]
> > This part of the patch is OK.
> 
>    I'll retest with just this part of the patch.

   It passed bootstrap and testing on i686-pc-linux-gnu with all default
languages with no new failures. Please commit.

ChangeLog:

2006-12-04  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	* reload1.c (choose_reload_regs): Don't set byte offset when
	resolving subregs of hard regs.

Index: reload1.c
===================================================================
--- reload1.c	(revision 119451)
+++ reload1.c	(working copy)
@@ -5622,10 +5622,11 @@ choose_reload_regs (struct insn_chain *c
 	      else if (GET_CODE (rld[r].in_reg) == SUBREG
 		       && REG_P (SUBREG_REG (rld[r].in_reg)))
 		{
-		  byte = SUBREG_BYTE (rld[r].in_reg);
 		  regno = REGNO (SUBREG_REG (rld[r].in_reg));
 		  if (regno < FIRST_PSEUDO_REGISTER)
 		    regno = subreg_regno (rld[r].in_reg);
+		  else
+		    byte = SUBREG_BYTE (rld[r].in_reg);
 		  mode = GET_MODE (rld[r].in_reg);
 		}
 #ifdef AUTO_INC_DEC


-- 
Rask Ingemann Lambertsen


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