This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: possible pre problem
- To: law at cygnus dot com, Richard Henderson <rth at cygnus dot com>
- Subject: Re: possible pre problem
- From: Richard Henderson <rth at cygnus dot com>
- Date: Wed, 7 Oct 1998 17:06:33 -0700
- Cc: egcs at cygnus dot com
- References: <19981007130128.A14387@dot.cygnus.com> <15206.907804138@hurl.cygnus.com>
- Reply-To: Richard Henderson <rth at cygnus dot com>
On Wed, Oct 07, 1998 at 05:48:58PM -0600, Jeffrey A Law wrote:
> Seems to me the expression evaluation has to be placed before the call since
> we can't really split abnormal critical edges yet (and that's the heart of the
> problem I believe).
Well, its not actually abnormal critical edges that are the problem,
but rather abnormal critical edges that end with a call. A computed
goto would not have this problem.
> Presumably you can't move the mem before the call, right? :-) Is this how
> we managed to trigger the new abort?
No, the immediate cause of this new abort was due to the lack of
critical edge splitting. If the edge had been split, this particular
example would have worked just fine.
However, in trying to work out how to solve this problem with the
tools available, I noticed this somewhat more fundamental problem
of not being able to (1) prove that the mem can in fact be placed
at that spot or (2) letting the controling code know that this
copy cannot be placed at the end of this block.
Solving (1) is preferable, I think, since the existance of a local
property that described how an edge might or might not kill a
particular memory referece certainly seems like it would produce
the best code.
r~