aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-12-12 10:21:35 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-12-12 10:21:35 +0100
commit555758de9007461daa2638c1c5d5ac35ae3dd234 (patch)
treec1ad730e9cadb28705113d3cb38417d7d6c7e436 /gcc/tree-vectorizer.c
parent12c667b5b449a9c86c763438fb96e6e029533fb7 (diff)
downloadgcc-555758de9007461daa2638c1c5d5ac35ae3dd234.zip
gcc-555758de9007461daa2638c1c5d5ac35ae3dd234.tar.gz
gcc-555758de9007461daa2638c1c5d5ac35ae3dd234.tar.bz2
re PR tree-optimization/83359 (ICE in expand_LOOP_DIST_ALIAS, at internal-fn.c:2362)
PR tree-optimization/83359 * tree-cfg.h (fold_loop_internal_call): Declare. * tree-vectorizer.c (fold_loop_internal_call): Moved to ... * tree-cfg.c (fold_loop_internal_call): ... here. No longer static. (find_loop_dist_alias): New function. (move_sese_region_to_fn): If any dloop->orig_loop_num value is updated, also adjust any corresponding LOOP_DIST_ALIAS internal calls. * gcc.dg/graphite/pr83359.c: New test. From-SVN: r255575
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r--gcc/tree-vectorizer.c21
1 files changed, 0 insertions, 21 deletions
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index feddfa2..a46d2a3 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -464,27 +464,6 @@ vect_loop_vectorized_call (struct loop *loop)
return NULL;
}
-/* Fold loop internal call G like IFN_LOOP_VECTORIZED/IFN_LOOP_DIST_ALIAS
- to VALUE and update any immediate uses of it's LHS. */
-
-static void
-fold_loop_internal_call (gimple *g, tree value)
-{
- tree lhs = gimple_call_lhs (g);
- use_operand_p use_p;
- imm_use_iterator iter;
- gimple *use_stmt;
- gimple_stmt_iterator gsi = gsi_for_stmt (g);
-
- update_call_from_tree (&gsi, value);
- FOR_EACH_IMM_USE_STMT (use_stmt, iter, lhs)
- {
- FOR_EACH_IMM_USE_ON_STMT (use_p, iter)
- SET_USE (use_p, value);
- update_stmt (use_stmt);
- }
-}
-
/* If LOOP has been versioned during loop distribution, return the gurading
internal call. */