cfgrtl: Add missing call to `onlyjump_p'
authorMaciej W. Rozycki <macro@linux-mips.org>
Sat, 5 Dec 2020 18:26:24 +0000 (18:26 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Sat, 5 Dec 2020 18:26:24 +0000 (18:26 +0000)
If any unconditional jumps within a block have side effects then the
block cannot be considered empty.

gcc/
* cfgrtl.c (rtl_block_empty_p): Return false if `!onlyjump_p'
too.

gcc/cfgrtl.c

index 5e909e25882f86759d506be3ee643ec10ccd7f4c..4d0249513132f034db969d9440084d53405f8c87 100644 (file)
@@ -4862,7 +4862,8 @@ rtl_block_empty_p (basic_block bb)
     return true;
 
   FOR_BB_INSNS (bb, insn)
-    if (NONDEBUG_INSN_P (insn) && !any_uncondjump_p (insn))
+    if (NONDEBUG_INSN_P (insn)
+       && (!any_uncondjump_p (insn) || !onlyjump_p (insn)))
       return false;
 
   return true;