===================================================================
@@ -7389,13 +7389,25 @@ free_stmt_vec_info (gimple stmt)
if (patt_info)
{
gimple_seq seq = STMT_VINFO_PATTERN_DEF_SEQ (patt_info);
+ gimple patt_stmt = STMT_VINFO_STMT (patt_info);
+ gimple_set_bb (patt_stmt, NULL);
+ tree lhs = gimple_get_lhs (patt_stmt);
+ if (TREE_CODE (lhs) == SSA_NAME)
+ release_ssa_name (lhs);
if (seq)
{
gimple_stmt_iterator si;
for (si = gsi_start (seq); !gsi_end_p (si); gsi_next (&si))
- free_stmt_vec_info (gsi_stmt (si));
+ {
+ gimple seq_stmt = gsi_stmt (si);
+ gimple_set_bb (seq_stmt, NULL);
+ lhs = gimple_get_lhs (patt_stmt);
+ if (TREE_CODE (lhs) == SSA_NAME)
+ release_ssa_name (lhs);
+ free_stmt_vec_info (seq_stmt);
+ }
}
- free_stmt_vec_info (STMT_VINFO_RELATED_STMT (stmt_info));
+ free_stmt_vec_info (patt_stmt);
}
}