This is the mail archive of the
mailing list for the GCC project.
Re: Reload shouldn't share in-operands with base of out-operands
- To: Alexandre Oliva <aoliva at redhat dot com>
- Subject: Re: Reload shouldn't share in-operands with base of out-operands
- From: Bernd Schmidt <bernds at cambridge dot redhat dot com>
- Date: Tue, 27 Feb 2001 15:06:11 +0000 (GMT)
- Cc: <gcc-patches at gcc dot gnu dot org>
> Here's the deal: whenever we have an input operand that is used in the
> address of the output operand, we can't share it with any other
> reload, because it may be modified in this other reload before we have
> a chance to use the address. Before my patch, we'd only prevent
> sharing in cases this input operand was a register. I've extended it
> to match PLUSes too. That's all.
Right. I'm still not convinced it'll find all such cases by just looking
at IN or OUT. For example, if you're reloading (mem (pseudo)), and
(pseudo) is equivalent to a different MEM, the actual expression is
something like (mem (mem (some address))), but we'll not actually get to
see the outer MEM when reloading the inner one - we don't replace the rtl
at this stage; it'll happen later in subst_reloads. That's why I'd prefer
to go looking through the replacements.
> > (Please include patches in the main body of the message so they can be
> > quoted)
> Do you mean Pine won't handle inline text MIME sections as text? :-(
> I wonder how it tells the body of the message from other sections...
I guess it assumes the first section is the body.