https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96475
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Segher Boessenkool <seg...@gcc.gnu.org>: https://gcc.gnu.org/g:69ca5f3a988266da8905aef9cf22aa02807e0471 commit r11-3078-g69ca5f3a988266da8905aef9cf22aa02807e0471 Author: Segher Boessenkool <seg...@kernel.crashing.org> Date: Fri Aug 7 01:31:38 2020 +0000 bb-reorder: Remove a misfiring micro-optimization (PR96475) When the compgotos pass copies the tail of blocks ending in an indirect jump, there is a micro-optimization to not copy the last one, since the original block will then just be deleted. This does not work properly if cleanup_cfg does not merge all pairs of blocks we expect it to. It also does not work if that last block can be merged into multiple predecessors. 2020-09-09 Segher Boessenkool <seg...@kernel.crashing.org> PR rtl-optimization/96475 * bb-reorder.c (maybe_duplicate_computed_goto): Remove single_pred_p micro-optimization.