http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59019

--- Comment #8 from Jeffrey A. Law <law at redhat dot com> ---
This has gone latent.  Regardless it's relatively easy to fix things up in
combine -- which does similar kinds of things when it's able to collapse a
conditional jump to an unconditional jump and the like.  I'm testing that now
(with a hack that exposes this bug again to ensure the combine.c bits get
exercised).

Basically we just have to remove the now dead insns from the block, zap the
outgoing edges and emit the barrier.

Steven, the reason conditional traps are not considered control flow altering
is that in the event of a trap, then stop execution.  If the condition is
false, they carry-on.  I can see both sides the "they should be considered
control flow altering" -- I'm not passionate enough about either to make a big
deal of it.

Eric, in the chaos of the last few days, I didn't save any of the spots that I
had to change to make conditional traps control flow altering.  I went through
3 or 4 places that needed fixing, then decide to look at working within the
current scheme by fixing up combine...

Reply via email to