Commit 4441eced by Kewen Lin

Fix PR94443 with gsi_insert_seq_before [PR94443]

This patch is to fix the stupid mistake by using
gsi_insert_seq_before instead of gsi_insert_before.

BTW, the regression testing on one x86_64 machine from CFarm is
unable to reveal it (I guess due to native arch sandybridge?), so I
specified additional option -march=znver2 and verified the coverage.

Bootstrapped/regtested on powerpc64le-linux-gnu (P9) and
x86_64-pc-linux-gnu, also verified the fail cases in related PRs.

2020-04-03  Kewen Lin  <linkw@gcc.gnu.org>

gcc/
    PR tree-optimization/94443
    * tree-vect-loop.c (vectorizable_live_operation): Use
    gsi_insert_seq_before to replace gsi_insert_before.

gcc/testsuite/
    PR tree-optimization/94443
    * gcc.dg/vect/pr94443.c: New test.
parent 55a73802
2020-04-03 Kewen Lin <linkw@gcc.gnu.org>
PR tree-optimization/94443
* tree-vect-loop.c (vectorizable_live_operation): Use
gsi_insert_seq_before to replace gsi_insert_before.
2020-04-03 Martin Liska <mliska@suse.cz>
PR ipa/94445
......
2020-04-03 Kewen Lin <linkw@gcc.gnu.org>
PR tree-optimization/94443
* gcc.dg/vect/pr94443.c: New test.
2020-04-02 Sandra Loosemore <sandra@codesourcery.com>
* lib/target-supports.exp (check_effective_target_sigsetjmp): Test
......
/* { dg-do compile } */
/* { dg-additional-options "-march=znver2" { target { x86_64-*-* i?86-*-* } } } */
/* Check it to be compiled successfully without any ICE. */
int a;
unsigned *b;
void foo()
{
for (unsigned i; i <= a; ++i, ++b)
;
}
......@@ -8050,7 +8050,7 @@ vectorizable_live_operation (stmt_vec_info stmt_info,
if (stmts)
{
gimple_stmt_iterator exit_gsi = gsi_after_labels (exit_bb);
gsi_insert_before (&exit_gsi, stmts, GSI_CONTINUE_LINKING);
gsi_insert_seq_before (&exit_gsi, stmts, GSI_SAME_STMT);
/* Remove existing phi from lhs and create one copy from new_tree. */
tree lhs_phi = NULL_TREE;
......@@ -8063,7 +8063,7 @@ vectorizable_live_operation (stmt_vec_info stmt_info,
remove_phi_node (&gsi, false);
lhs_phi = gimple_phi_result (phi);
gimple *copy = gimple_build_assign (lhs_phi, new_tree);
gsi_insert_after (&exit_gsi, copy, GSI_CONTINUE_LINKING);
gsi_insert_before (&exit_gsi, copy, GSI_SAME_STMT);
break;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment