diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-03-09 21:12:19 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-03-09 21:12:19 +0100 |
commit | c2864f02e04f23d12094ad02cddbd97c652ece09 (patch) | |
tree | 18b2392e7d646abf47581eababdb6c41486e5a4b /gcc/tree-sra.c | |
parent | 3433b975aeba3214e3ce27bcb4078f5aee771782 (diff) | |
download | gcc-c2864f02e04f23d12094ad02cddbd97c652ece09.zip gcc-c2864f02e04f23d12094ad02cddbd97c652ece09.tar.gz gcc-c2864f02e04f23d12094ad02cddbd97c652ece09.tar.bz2 |
re PR tree-optimization/70152 (gcc ICE at -O3 and above on valid code on x86_64-linux-gnu in "replace_uses_by")
PR tree-optimization/70152
* tree-sra.c (replace_removed_params_ssa_names): Copy over
SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
* gcc.dg/pr70152.c: New test.
From-SVN: r234092
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r-- | gcc/tree-sra.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 366f413..06c39c3 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -4758,6 +4758,8 @@ replace_removed_params_ssa_names (tree old_name, gimple *stmt, repl = get_replaced_param_substitute (adj); new_name = make_ssa_name (repl, stmt); + SSA_NAME_OCCURS_IN_ABNORMAL_PHI (new_name) + = SSA_NAME_OCCURS_IN_ABNORMAL_PHI (old_name); if (dump_file) { |