This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Sharing hard registers
- From: law at redhat dot com
- To: Alan Lehotsky <apl at alum dot mit dot edu>
- Cc: "Eric Christopher" <echristo at redhat dot com>, gcc at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Thu, 13 Jun 2002 20:25:13 -0600
- Subject: Re: Sharing hard registers
- Reply-to: law at redhat dot com
In message <a05111a12b92efbc4965c@[63.214.71.88]>, Alan Lehotsky writes:
> At 4:27 PM -0600 6/13/02, law@redhat.com wrote:
> >In message <200206132203.g5DM3lv24315@potter.sfbay.redhat.com>,
> >"Eric Christoph
> >er" writes:
> > > On Thu, 13 Jun 2002 13:27:39 -0700, law wrote:
> > >
> > >
> > > > It may be necessary to back out the last patch which makes gen_rtx_RE
> G
> > > > share hard registers in some circumstances.
> > > >
>
> The porting guide's "Structure Sharing Assumptions" needs to
> be updated to explicitly indicate that hard registers are "shared".
> Right now, it just says that pseudos are always shared.
Yes. It's on my list. It needs to be revised to say that hard regs *may*
be shared.
> Also, I'm curious about the issue of a hard-register with
> more than one mode.
> How does that work if R1 can be a SF or a SI mode value???
There's only one mode where the compiler will automatically arrange for a
hard reg to be shared -- that's when you generate one with the same mode
as reg_raw_mode[regno].
>
> Doesn't the mode get in the way of sharing the hard register?
> Or is this cached by (mode,regno).?
We don't share the full set -- that'd be rather expensive.
jeff