This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: [PATCH, RFC] LRA subreg handling
- From: Matthew Fortune <Matthew dot Fortune at imgtec dot com>
- To: Jeff Law <law at redhat dot com>, Robert Suchanek <Robert dot Suchanek at imgtec dot com>, "vmakarov at redhat dot com" <vmakarov at redhat dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 16 Jan 2015 12:33:23 +0000
- Subject: RE: [PATCH, RFC] LRA subreg handling
- Authentication-results: sourceware.org; auth=none
- References: <B5E67142681B53468FAF6B7C31356562441183BD at hhmail02 dot hh dot imgtec dot org> <54B7497E dot 2060700 at redhat dot com> <B5E67142681B53468FAF6B7C313565624411845D at hhmail02 dot hh dot imgtec dot org> <54B7F7A9 dot 5010408 at redhat dot com>
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