From 41b6b80e1a70f3731a45d991a83c5bc4a7f73ea4 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Wed, 1 Aug 2018 15:29:36 +0000 Subject: 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 gcc/ PR tree-optimization/86748 * tree-vect-stmts.c (vectorizable_simd_clone_call): Don't try to remove pattern statements. From-SVN: r263222 --- gcc/ChangeLog | 6 ++++++ gcc/tree-vect-stmts.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3e7367d..6ea9771 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2018-08-01 Richard Sandiford + PR tree-optimization/86748 + * tree-vect-stmts.c (vectorizable_simd_clone_call): Don't try + to remove pattern statements. + +2018-08-01 Richard Sandiford + * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Use the result of dfs_enumerate_from when constructing stmt_vec_infos, instead of additionally calling get_loop_body. diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index 3989fde..cfc8388 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -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; -- cgit v1.1