@@ -2172,11 +2172,14 @@ drop_overlapping_mem_locs (void **slot,
/* Remove from SET all VALUE bindings to MEMs that overlap with LOC. */
+static bool vt_initialize_p;
+
static void
clobber_overlapping_mems (dataflow_set *set, rtx loc)
{
struct overlapping_mems coms;
+gcc_assert (!vt_initialize_p);
coms.set = set;
coms.loc = canon_rtx (loc);
coms.addr = vt_canonicalize_addr (set, XEXP (loc, 0));
@@ -9604,6 +9607,8 @@ vt_initialize (void)
VTI (bb)->permp = NULL;
}
+vt_initialize_p = true;
+
if (MAY_HAVE_DEBUG_INSNS)
{
cselib_init (CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS);
@@ -9861,6 +9866,7 @@ vt_initialize (void)
}
}
+vt_initialize_p = false;
hard_frame_pointer_adjustment = -1;
VTI (ENTRY_BLOCK_PTR)->flooded = true;
cfa_base_rtx = NULL_RTX;