[PATCH] bb-reorder: Remove a misfiring micro-optimization (PR96475)

Segher Boessenkool segher@kernel.crashing.org
Fri Aug 7 02:17:31 GMT 2020


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.

2020-08-07  Segher Boessenkool  <segher@kernel.crashing.org>

	PR rtl-optimization/96475
	* bb-reorder.c (maybe_duplicate_computed_goto): Remove single_pred_p
	micro-optimization.
---
 gcc/bb-reorder.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index c635010..f7a7de8 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -2680,9 +2680,6 @@ make_pass_reorder_blocks (gcc::context *ctxt)
 static bool
 maybe_duplicate_computed_goto (basic_block bb, int max_size)
 {
-  if (single_pred_p (bb))
-    return false;
-
   /* Make sure that the block is small enough.  */
   rtx_insn *insn;
   FOR_BB_INSNS (bb, insn)
-- 
1.8.3.1



More information about the Gcc-patches mailing list