This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

possible pre problem


[ 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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]