diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2019-08-05 16:46:48 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2019-08-05 16:46:48 +0000 |
commit | 779724a5913b4e6a7ccccc0b8b415a772144a067 (patch) | |
tree | 1409cb8368cb4219160ec5c673f1c7bd93e5c214 /gcc/tree-ssa-propagate.c | |
parent | 09eff11aa4a1df86a5f6c5ac8e035e8de0039dba (diff) | |
download | gcc-779724a5913b4e6a7ccccc0b8b415a772144a067.zip gcc-779724a5913b4e6a7ccccc0b8b415a772144a067.tar.gz gcc-779724a5913b4e6a7ccccc0b8b415a772144a067.tar.bz2 |
Add a gimple_move_vops helper function
I needed to add another instance of this idiom, so thought it'd
be worth having a helper function.
2019-08-05 Richard Sandiford <richard.sandiford@arm.com>
gcc/
* gimple.h (gimple_move_vops): Declare.
* gimple.c (gimple_move_vops): New function
* gimple-fold.c (replace_call_with_call_and_fold)
(gimple_fold_builtin_memory_op, gimple_fold_builtin_memset)
(gimple_fold_builtin_stpcpy, fold_builtin_atomic_compare_exchange)
(gimple_fold_call): Use it.
* ipa-param-manipulation.c (ipa_modify_call_arguments): Likewise.
* tree-call-cdce.c (use_internal_fn): Likewise.
* tree-if-conv.c (predicate_load_or_store): Likewise.
* tree-ssa-ccp.c (optimize_atomic_bit_test_and): Likewise.
* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
* tree-ssa-propagate.c (finish_update_gimple_call): Likewise.
(update_call_from_tree): Likewise.
* tree-vect-stmts.c (vectorizable_load): Likewise.
* tree-vectorizer.c (adjust_simduid_builtins): Likewise.
From-SVN: r274117
Diffstat (limited to 'gcc/tree-ssa-propagate.c')
-rw-r--r-- | gcc/tree-ssa-propagate.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/gcc/tree-ssa-propagate.c b/gcc/tree-ssa-propagate.c index 6b78dc1..0862f83 100644 --- a/gcc/tree-ssa-propagate.c +++ b/gcc/tree-ssa-propagate.c @@ -625,8 +625,7 @@ finish_update_gimple_call (gimple_stmt_iterator *si_p, gimple *new_stmt, { gimple_call_set_lhs (new_stmt, gimple_call_lhs (stmt)); move_ssa_defining_stmt_for_defs (new_stmt, stmt); - gimple_set_vuse (new_stmt, gimple_vuse (stmt)); - gimple_set_vdef (new_stmt, gimple_vdef (stmt)); + gimple_move_vops (new_stmt, stmt); gimple_set_location (new_stmt, gimple_location (stmt)); if (gimple_block (new_stmt) == NULL_TREE) gimple_set_block (new_stmt, gimple_block (stmt)); @@ -706,8 +705,7 @@ update_call_from_tree (gimple_stmt_iterator *si_p, tree expr) STRIP_USELESS_TYPE_CONVERSION (expr); new_stmt = gimple_build_assign (lhs, expr); move_ssa_defining_stmt_for_defs (new_stmt, stmt); - gimple_set_vuse (new_stmt, gimple_vuse (stmt)); - gimple_set_vdef (new_stmt, gimple_vdef (stmt)); + gimple_move_vops (new_stmt, stmt); } else if (!TREE_SIDE_EFFECTS (expr)) { @@ -732,8 +730,7 @@ update_call_from_tree (gimple_stmt_iterator *si_p, tree expr) else lhs = create_tmp_var (TREE_TYPE (expr)); new_stmt = gimple_build_assign (lhs, expr); - gimple_set_vuse (new_stmt, gimple_vuse (stmt)); - gimple_set_vdef (new_stmt, gimple_vdef (stmt)); + gimple_move_vops (new_stmt, stmt); move_ssa_defining_stmt_for_defs (new_stmt, stmt); } gimple_set_location (new_stmt, gimple_location (stmt)); |