re PR tree-optimization/42963 (Redundant switch labels not cleaned up anymore)
commitfc249fe5d62c73210b3f752fb45119391d0774f0
authorMichael Matz <matz@suse.de>
Wed, 14 Apr 2010 14:50:33 +0000 (14 14:50 +0000)
committerMichael Matz <matz@gcc.gnu.org>
Wed, 14 Apr 2010 14:50:33 +0000 (14 14:50 +0000)
tree05e8f3fe688ca2ced73803178ff9b08bfa60f8b5
parent289a9f867a78d0c928eed2d9793964b9c7272022
re PR tree-optimization/42963 (Redundant switch labels not cleaned up anymore)

PR tree-optimization/42963
* tree-cfg.c (touched_switch_bbs): New static variable.
(group_case_labels_stmt): New function broken out from ...
(group_case_labels): ... here, use the above.
(start_recording_case_labels): Allocate touched_switch_bbs.
(end_recording_case_labels): Deallocate it, call
group_case_labels_stmt.
(gimple_redirect_edge_and_branch): Remember index of affected BB.

testsuite/
* testsuite/gcc.dg/pr42963.c: New testcase.

From-SVN: r158345
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr42963.c [new file with mode: 0644]
gcc/tree-cfg.c