Deleting jump tables and CFG

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Mon Dec 1 16:52:00 GMT 2003


    Unfrortuantely it is not easy to track and delete all references to
    the dead jumptable immediately when it becomes unreachable or
    simplifies to simplejump as there can be code computing the jumptable
    destination.  Thus the strategy is to remove the jumptables after
    liveness analysis via purge_dead_jumptables call.  This is causing
    problems all the time.  It would be nice to move the jumptables out of
    the instruction chain (as rest of datas are dealt with) so the dead
    jumptables won't affect other optimizations.

The problem is that code to delete unreachable blocks is deleting the labels
referenced by a jumptable but not the table itself.  So when jump.c runs, it
blows up since the CODE_LABELs have been GC'ed.



More information about the Gcc mailing list