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]
Other format: [Raw text]

Re: Deleting jump tables and CFG


    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.


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