https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95574

--- Comment #6 from Tom de Vries <vries at gcc dot gnu.org> ---
A simple way of fixing this is:
...
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index 899a5c0290d..4b143f6702b 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -6635,7 +6635,7 @@ add_with_sets (rtx_insn *insn, struct cselib_set *sets,
int n_se
ts)
        std::swap (mos[n1], mos[n2]);
     }

-  if (CALL_P (insn))
+  if (CALL_P (insn) && ! find_reg_note (insn, REG_NORETURN, NULL))
     {
       micro_operation mo;

...

after which we have:
...
        .loc 1 12 5 view .LVU13
        call    abort
        .cfi_endproc
...

Reply via email to