diff options
author | Martin Jambor <mjambor@suse.cz> | 2016-02-26 19:06:42 +0100 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2016-02-26 19:06:42 +0100 |
commit | ad2a27062e2837a776fd0e5cb67ef4324c5c9936 (patch) | |
tree | 57bfe8d141752dcadd34f207f3c043a0d32c3a81 /gcc/tree-sra.c | |
parent | 1d11f7ce7081fc9e28ac0a66c6b3f6b7950971d6 (diff) | |
download | gcc-ad2a27062e2837a776fd0e5cb67ef4324c5c9936.zip gcc-ad2a27062e2837a776fd0e5cb67ef4324c5c9936.tar.gz gcc-ad2a27062e2837a776fd0e5cb67ef4324c5c9936.tar.bz2 |
[PR 69920] Prevent SRA from leaving a removed SSA_NAME in IL
2016-02-26 Martin Jambor <mjambor@suse.cz>
PR middle-end/69920
* tree-sra.c (sra_modify_assign): Do not remove loads of
uninitialized aggregates to SSA_NAMEs.
testsuite/
* gcc.dg/torture/pr69932.c: New test.
* gcc.dg/torture/pr69936.c: Likewise.
From-SVN: r233753
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r-- | gcc/tree-sra.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 663ded2..366f413 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -3504,7 +3504,8 @@ sra_modify_assign (gimple *stmt, gimple_stmt_iterator *gsi) else { if (access_has_children_p (racc) - && !racc->grp_unscalarized_data) + && !racc->grp_unscalarized_data + && TREE_CODE (lhs) != SSA_NAME) { if (dump_file) { |