On Wed, Jul 26, 2017 at 9:35 PM, Peter Bergner wrote: > The test case for PR81564 exposes an issue where the case labels for a > switch statement point to blocks that have already been removed by an > earlier call to cleanup_tree_cfg(). In that case, the code in > group_case_labels_stmt() that does:
How can a basic block be removed (apparently as unreachable) if there are still case labels leading to it? Apparently there is enough information to make CASE_LABEL be set to NULL. Why is the case label not just removed (or redirected to the default, or ...)? The patch feels like it's papering over another issue. group_case_labels is an optional thing to do, basically just a simplification. The compiler should run even if you never group the case labels... Ciao! Steven