Fix remove_stmt in vectorizable_simd_clone_call (PR 86758)

vectorizable_simd_clone_call was trying to remove a pattern statement
instead of the original statement,  Fixes existing tests
gcc.dg/pr84452.c and gcc.target/i386/pr84309.c on x86.

2018-08-01  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	PR tree-optimization/86748
	* tree-vect-stmts.c (vectorizable_simd_clone_call): Don't try
	to remove pattern statements.

From-SVN: r263222
This commit is contained in:
Richard Sandiford 2018-08-01 15:29:36 +00:00 committed by Richard Sandiford
parent beeb6ce863
commit 41b6b80e1a
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2018-08-01 Richard Sandiford <richard.sandiford@arm.com>
PR tree-optimization/86748
* tree-vect-stmts.c (vectorizable_simd_clone_call): Don't try
to remove pattern statements.
2018-08-01 Richard Sandiford <richard.sandiford@arm.com>
* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Use the

View File

@ -4368,7 +4368,7 @@ vectorizable_simd_clone_call (stmt_vec_info stmt_info,
}
else
new_stmt = gimple_build_nop ();
vinfo->replace_stmt (gsi, stmt_info, new_stmt);
vinfo->replace_stmt (gsi, vect_orig_stmt (stmt_info), new_stmt);
unlink_stmt_vdef (stmt);
return true;