diff options
author | Jakub Jelinek <jakub@redhat.com> | 2017-12-12 10:21:35 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-12-12 10:21:35 +0100 |
commit | 555758de9007461daa2638c1c5d5ac35ae3dd234 (patch) | |
tree | c1ad730e9cadb28705113d3cb38417d7d6c7e436 /gcc/tree-vectorizer.c | |
parent | 12c667b5b449a9c86c763438fb96e6e029533fb7 (diff) | |
download | gcc-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.c | 21 |
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. */ |