mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-09 00:41:03 +08:00
re PR tree-optimization/89653 (Missing vectorization of loop containing std::min/std::max and temporary)
2019-05-02 Richard Biener <rguenther@suse.de> PR tree-optimization/89653 * tree-ssa-loop.c (pass_data_tree_loop_init): Execute update-address-taken before the pass. * passes.def (pass_tree_loop_init): Put comment before it. * g++.dg/vect/pr89653.cc: New testcase. From-SVN: r270800
This commit is contained in:
parent
420ee75d7d
commit
8964432ad6
@ -1,3 +1,10 @@
|
||||
2019-05-02 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/89653
|
||||
* tree-ssa-loop.c (pass_data_tree_loop_init): Execute
|
||||
update-address-taken before the pass.
|
||||
* passes.def (pass_tree_loop_init): Put comment before it.
|
||||
|
||||
2019-05-02 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/89509
|
||||
|
@ -255,6 +255,8 @@ along with GCC; see the file COPYING3. If not see
|
||||
NEXT_PASS (pass_fix_loops);
|
||||
NEXT_PASS (pass_tree_loop);
|
||||
PUSH_INSERT_PASSES_WITHIN (pass_tree_loop)
|
||||
/* Before loop_init we rewrite no longer addressed locals into SSA
|
||||
form if possible. */
|
||||
NEXT_PASS (pass_tree_loop_init);
|
||||
NEXT_PASS (pass_tree_unswitch);
|
||||
NEXT_PASS (pass_scev_cprop);
|
||||
|
@ -1,3 +1,8 @@
|
||||
2019-05-02 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/89653
|
||||
* g++.dg/vect/pr89653.cc: New testcase.
|
||||
|
||||
2019-05-02 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/89509
|
||||
|
12
gcc/testsuite/g++.dg/vect/pr89653.cc
Normal file
12
gcc/testsuite/g++.dg/vect/pr89653.cc
Normal file
@ -0,0 +1,12 @@
|
||||
// { dg-do compile }
|
||||
// { dg-require-effective-target vect_double }
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
void loop1(double * const __restrict__ vec, double x, int end)
|
||||
{
|
||||
for (int i = 0; i < end; ++i)
|
||||
vec[i] = std::min(vec[i], vec[i]/x);
|
||||
}
|
||||
|
||||
// { dg-final { scan-tree-dump "vectorized 1 loops" "vect" } }
|
@ -330,7 +330,7 @@ const pass_data pass_data_tree_loop_init =
|
||||
PROP_cfg, /* properties_required */
|
||||
0, /* properties_provided */
|
||||
0, /* properties_destroyed */
|
||||
0, /* todo_flags_start */
|
||||
TODO_update_address_taken, /* todo_flags_start */
|
||||
0, /* todo_flags_finish */
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user