[PATCH, RFC] LRA subreg handling
Matthew Fortune
Matthew.Fortune@imgtec.com
Fri Jan 16 12:39:00 GMT 2015
Jeff Law <law@redhat.com> writes:
> On 01/15/15 03:13, Robert Suchanek wrote:
> >> Robert, can you look at reload.c::reload_inner_reg_of_subreg and
> >> verify that the comment just before its return statement is
> >> effectively the situation you're in.
> >>
> >> There are certainly cases where a SUBREG needs to be treated as an
> >> in-out operand. We walked through them eons ago when we were poking
> >> at SSA for RTL. But the details have long since faded from memory.
> >
> > The comment pretty much applies to my situation. The only difference
> > I can see is that reload would have had hard registers at this point.
> > In the testcase, LRA does not have hard registers assigned to the
> > concerned pseudo(s), thus, it can't rely on the information in
> > hard_regno_nregs to check if the number of registers in INNER is
> different to the number of words in INNER.
> The differences (hard vs pseudo regs) are primarily an implementation
> detail. I was really looking to see if there was existing code which
> would turn an output reload into an in-out reload for these subregs.
>
> The in-out nature of certain subregs is something I've personally
> stumbled over in various contexts (for example, this also came up during
> RTL-SSA investigations years ago).
Committed as r219730 on Robert's behalf.
Thanks,
Matthew
More information about the Gcc-patches
mailing list