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 ...