]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/dwarf2cfi.c
Handle casesi dispatch tablejumps in create_trace_edges (as well)
[thirdparty/gcc.git] / gcc / dwarf2cfi.c
index d6aed358484594fd2f741d97e7c3447f9ee7655a..95ba0f71026408f74634f640de7dc17f15fee987 100644 (file)
@@ -2445,6 +2445,13 @@ create_trace_edges (rtx_insn *insn)
              rtx_insn *lab = as_a <rtx_insn *> (XEXP (RTVEC_ELT (vec, i), 0));
              maybe_record_trace_start (lab, insn);
            }
+
+         /* Handle casesi dispatch insns.  */
+         if ((tmp = tablejump_casesi_pattern (insn)) != NULL_RTX)
+           {
+             rtx_insn * lab = label_ref_label (XEXP (SET_SRC (tmp), 2));
+             maybe_record_trace_start (lab, insn);
+           }
        }
       else if (computed_jump_p (insn))
        {