aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2017-05-26 07:14:52 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2017-05-26 07:14:52 +0000
commitf408a6350f28490124ae042207027fa6599af29b (patch)
tree92d135113a2970dc40ea18f862295f86ab845492 /gcc/tree-vectorizer.c
parent1f06dc9561e6cc20788f2d10dfda5e0696741d5c (diff)
downloadgcc-f408a6350f28490124ae042207027fa6599af29b.zip
gcc-f408a6350f28490124ae042207027fa6599af29b.tar.gz
gcc-f408a6350f28490124ae042207027fa6599af29b.tar.bz2
re PR tree-optimization/80844 (OpenMP SIMD doesn't know how to efficiently zero a vector (its stores zeros and reloads))
2017-05-26 Richard Biener <rguenther@suse.de> PR tree-optimization/80844 * tree-vectorizer.c (adjust_simduid_builtins): Propagate results. From-SVN: r248481
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r--gcc/tree-vectorizer.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index f928dec..1bef2e4 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -229,8 +229,11 @@ adjust_simduid_builtins (hash_table<simduid_to_vf> *htab)
default:
gcc_unreachable ();
}
- update_call_from_tree (&i, t);
- gsi_next (&i);
+ tree lhs = gimple_call_lhs (stmt);
+ if (lhs)
+ replace_uses_by (lhs, t);
+ release_defs (stmt);
+ gsi_remove (&i, true);
}
}
}