This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
possible pre problem
- To: law at cygnus dot com
- Subject: possible pre problem
- From: Richard Henderson <rth at cygnus dot com>
- Date: Wed, 7 Oct 1998 13:01:28 -0700
- Cc: egcs at cygnus dot com
- Reply-To: Richard Henderson <rth at cygnus dot com>
[ I've been throwing notes all morning at Jeff about the fact that
my gcse fix immediately broke when installed in egcs. One of the
fundamental differences between egcs and cygnus' tree is critical
edge splitting. However... ]
Correct me if I'm wrong, however, I think there's a bug in the way
PPout is calculated. Namely, it is defined as the intersection of
PPin of the successors.
However, this is not quite correct for exception handling. If a call
ends a basic block because of the presence of an eh region or other
local label control transfer, then an arbitrary memory expression
would not be PPout, because there is no way to insert the expression
on the trailing edge.
Given that I don't see that we compute any local property that includes
this detail, I think that we're exposed for trouble. I think this is
true for the cygnus tree as well, though I have not yet studdied the
equations thoroughly enough to guess which global property is at fault.
Am I missing something?
r~