mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-19 02:00:54 +08:00
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.
This commit is contained in:
parent
55a7380213
commit
4441ecedc3
@ -1,3 +1,9 @@
|
||||
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
|
||||
|
@ -1,3 +1,8 @@
|
||||
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
|
||||
|
13
gcc/testsuite/gcc.dg/vect/pr94443.c
Normal file
13
gcc/testsuite/gcc.dg/vect/pr94443.c
Normal file
@ -0,0 +1,13 @@
|
||||
/* { 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;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user