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, committed] reload.c latent bug fix


> 	The test and the array access must be consistent -- either both
> regno or both inner_regno.

Agreed.  But it should be inner_regno.

>                             Both functions have been working calling the
> old macro with "regno".

If there is an actual overlap, it should work for all but the most exotic
ports, because then regno and inner_regno should be consistent in being
hard registers or not, and if they are, in how many registers are needed
for a mode.  (If a port has very strange modes and register number
 assignments to match, you can get surprises with HARD_REGNO_NREGS.  But
 then the SUBREG_BYTE code will probably not work in the first place).

But if there is no actual overlap, regno might be for a very small register,
or for one for which the mode is not allowable in the first place,
so you can get false positives there.


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