aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-sra.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-03-09 21:12:19 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2016-03-09 21:12:19 +0100
commitc2864f02e04f23d12094ad02cddbd97c652ece09 (patch)
tree18b2392e7d646abf47581eababdb6c41486e5a4b /gcc/tree-sra.c
parent3433b975aeba3214e3ce27bcb4078f5aee771782 (diff)
downloadgcc-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.c2
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)
{