Continue RTL verifying in rtl_verify_fallthru
authorRichard Biener <rguenther@suse.de>
Wed, 24 Nov 2021 14:57:03 +0000 (15:57 +0100)
committerRichard Biener <rguenther@suse.de>
Thu, 25 Nov 2021 13:23:44 +0000 (14:23 +0100)
One case used fatal_insn which does not return which isn't
intended as can be seen by the following erro = 1.  The following
change refactors this to inline the relevant parts of fatal_insn
instead and continue validating the RTL IL.

2021-11-25  Richard Biener  <rguenther@suse.de>

* cfgrtl.c (rtl_verify_fallthru): Do not stop verifying
with fatal_insn.
(skip_insns_after_block): Remove unreachable break and continue.

gcc/cfgrtl.c

index e3a724b..c7ba900 100644 (file)
@@ -3001,7 +3001,8 @@ rtl_verify_fallthru (void)
                {
                  error ("verify_flow_info: Incorrect fallthru %i->%i",
                         e->src->index, e->dest->index);
-                 fatal_insn ("wrong insn in the fallthru edge", insn);
+                 error ("wrong insn in the fallthru edge");
+                 debug_rtx (insn);
                  err = 1;
                }
        }
@@ -3540,10 +3541,8 @@ skip_insns_after_block (basic_block bb)
            {
            case NOTE_INSN_BLOCK_END:
              gcc_unreachable ();
-             continue;
            default:
              continue;
-             break;
            }
          break;