diff options
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r-- | gcc/tree-sra.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 38b3cf5..e9766d7 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -2533,7 +2533,9 @@ sra_modify_assign (gimple *stmt, gimple_stmt_iterator *gsi, { if (access_has_children_p (racc)) { - if (!racc->grp_unscalarized_data) + if (!racc->grp_unscalarized_data + /* Do not remove SSA name definitions (PR 42704). */ + && TREE_CODE (lhs) != SSA_NAME) { generate_subtree_copies (racc->first_child, lhs, racc->offset, 0, 0, gsi, |