mirror of git://gcc.gnu.org/git/gcc.git
tree-predcom.c (tree_predictive_commoning_loop): Skip loop that only iterates 1 time.
* tree-predcom.c (tree_predictive_commoning_loop): Skip loop that only iterates 1 time. gcc/testsuite * gfortran.dg/vect/fast-math-mgrid-resid.f: New test string. From-SVN: r241100
This commit is contained in:
parent
a5e3d6146d
commit
b8a4b8c838
|
|
@ -1,3 +1,8 @@
|
||||||
|
2016-10-13 Bin Cheng <bin.cheng@arm.com>
|
||||||
|
|
||||||
|
* tree-predcom.c (tree_predictive_commoning_loop): Skip loop that only
|
||||||
|
iterates 1 time.
|
||||||
|
|
||||||
2016-10-13 Bin Cheng <bin.cheng@arm.com>
|
2016-10-13 Bin Cheng <bin.cheng@arm.com>
|
||||||
|
|
||||||
* tree-vect-loop-manip.c (adjust_vec_debug_stmts): Don't release
|
* tree-vect-loop-manip.c (adjust_vec_debug_stmts): Don't release
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
2016-10-13 Bin Cheng <bin.cheng@arm.com>
|
||||||
|
|
||||||
|
* gfortran.dg/vect/fast-math-mgrid-resid.f: New test string.
|
||||||
|
|
||||||
2016-10-13 Bin Cheng <bin.cheng@arm.com>
|
2016-10-13 Bin Cheng <bin.cheng@arm.com>
|
||||||
|
|
||||||
* gcc.dg/vect/vect-98.c: Refine test case.
|
* gcc.dg/vect/vect-98.c: Refine test case.
|
||||||
|
|
|
||||||
|
|
@ -42,3 +42,4 @@ C
|
||||||
! { dg-final { scan-tree-dump-times "Executing predictive commoning without unrolling" 1 "pcom" { target lp64 } } }
|
! { dg-final { scan-tree-dump-times "Executing predictive commoning without unrolling" 1 "pcom" { target lp64 } } }
|
||||||
! { dg-final { scan-tree-dump-times "Executing predictive commoning without unrolling" 2 "pcom" { target ia32 } } }
|
! { dg-final { scan-tree-dump-times "Executing predictive commoning without unrolling" 2 "pcom" { target ia32 } } }
|
||||||
! { dg-final { scan-tree-dump-times "Predictive commoning failed: no suitable chains" 0 "pcom" } }
|
! { dg-final { scan-tree-dump-times "Predictive commoning failed: no suitable chains" 0 "pcom" } }
|
||||||
|
! { dg-final { scan-tree-dump-times "Loop iterates only 1 time, nothing to do" 1 "pcom" } }
|
||||||
|
|
|
||||||
|
|
@ -2465,6 +2465,15 @@ tree_predictive_commoning_loop (struct loop *loop)
|
||||||
if (dump_file && (dump_flags & TDF_DETAILS))
|
if (dump_file && (dump_flags & TDF_DETAILS))
|
||||||
fprintf (dump_file, "Processing loop %d\n", loop->num);
|
fprintf (dump_file, "Processing loop %d\n", loop->num);
|
||||||
|
|
||||||
|
/* Nothing for predicitive commoning if loop only iterates 1 time. */
|
||||||
|
if (get_max_loop_iterations_int (loop) == 0)
|
||||||
|
{
|
||||||
|
if (dump_file && (dump_flags & TDF_DETAILS))
|
||||||
|
fprintf (dump_file, "Loop iterates only 1 time, nothing to do.\n");
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/* Find the data references and split them into components according to their
|
/* Find the data references and split them into components according to their
|
||||||
dependence relations. */
|
dependence relations. */
|
||||||
auto_vec<loop_p, 3> loop_nest;
|
auto_vec<loop_p, 3> loop_nest;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue