Abort in redirect_edge_and_branch on vax at line 866

law@redhat.com law@redhat.com
Thu Jan 10 07:44:00 GMT 2002


  > There is no jump optimizier and cfg_cleanup does not the job.
Right.  This is one of those somewhat hidden dependencies on the old
style non-cfg jump optimizer.  These things happen.

Certainly I'd prefer to see this little hack cleaned up vs propagating it
forward.  The point behind my message was that the issues may not be as
simple as folks initially believed and that a deeper investigation is
warranted before simply deleting those insns.

Let me be very clear, I was never happy with the fact that I had gcse leave
an invalid insn in the stream, but at the time I couldn't find a way around
the problem.  In retrospect I should have zapped the nop jump in gcse.c
internal cleanup pass rather than depending on something external to
gcse.c to clean it up.

  > Would you preffer to change the code to run the delete_trivial_dead_insns
  > and not delete the insn instead?
If we can safely delete the nop jump, then I'd prefer to do that.  I think
that's a better design.

  > (dleting trivially dead insns is probably something that really should
  > happen,
Possibly.  The question (of course) is whether or not there's anything
generally useful for it to clean up?  It should be fairly easy to instrument
delete_trivially_dead_insns to report back how many insns it removed.  Then
you just have to build something reasonable (say the compiler itself) to 
see how many things it deletes when it runs after gcse.

jeff



More information about the Gcc-bugs mailing list