Deleting jump tables and CFG
Eric Botcazou
ebotcazou@libertysurf.fr
Mon Dec 1 06:28:00 GMT 2003
> If the answer to this question has changed recently, I'm asking it about a
> bug in 3.2.
It has changed and several related bugs have been fixed since then.
> When a case jump is deleted due to it being an unreachable block, who is
> responsible for deleting the associated branch table? As I understand it,
> that's *not* part of the block and nothing is keeping it adjacent to the
> block.
It's delete_dead_jumptables in flow.c, called by life_analysis in GCC 3.2.3.
> Basically, my question is how the jump table is handled in the CFG.
Separately, and I'd say not very well in GCC 3.2.x. On mainline,
delete_dead_jumptables is called additionally in fixup_reorder_chain,
cleanup_cfg and rest_of_handle_loop_optimize.
--
Eric Botcazou
More information about the Gcc
mailing list