From 41b6b80e1a70f3731a45d991a83c5bc4a7f73ea4 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Wed, 1 Aug 2018 15:29:36 +0000 Subject: [PATCH] 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(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3e7367de13a..6ea9771a079 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +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 diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index 3989fdea251..cfc83883844 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; -- 2.30.2