aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.c
diff options
context:
space:
mode:
authorSergey Ostanevich <sergos.gnu@gmail.com>2013-11-28 07:54:58 +0000
committerKirill Yukhin <kyukhin@gcc.gnu.org>2013-11-28 07:54:58 +0000
commit8b5e12023b56dfc83c037053612b08f5ee7eac61 (patch)
treebea8238b89ef5aab5339621f7b4ebff4f5333c76 /gcc/tree-vect-loop.c
parentd0da87f3783422d0c4b952f7f6d373e6d51a84d3 (diff)
downloadgcc-8b5e12023b56dfc83c037053612b08f5ee7eac61.zip
gcc-8b5e12023b56dfc83c037053612b08f5ee7eac61.tar.gz
gcc-8b5e12023b56dfc83c037053612b08f5ee7eac61.tar.bz2
common.opt: Introduced a new option -fsimd-cost-model.
gcc/ * common.opt: Introduced a new option -fsimd-cost-model. * doc/invoke.texi: Introduced a new openmp-simd warning and a new -fsimd-cost-model option. * tree-vectorizer.h (unlimited_cost_model): Interface updated to rely on the particular loop info. * tree-vect-data-refs.c (vect_peeling_hash_insert): Ditto. (vect_peeling_hash_choose_best_peeling): Ditto. (vect_enhance_data_refs_alignment): Ditto. * tree-vect-slp.c (vect_slp_analyze_bb_1): Ditto. * tree-vect-loop.c (vect_estimate_min_profitable_iters): Ditto plus added openmp-simd warining. gcc/c-family/ * c.opt (Wopenmp-simd): New. gcc/fortran/ * lang.opt (Wopenmp-simd): New. From-SVN: r205475
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r--gcc/tree-vect-loop.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 42a78de..25bf334 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -2716,7 +2716,7 @@ vect_estimate_min_profitable_iters (loop_vec_info loop_vinfo,
void *target_cost_data = LOOP_VINFO_TARGET_COST_DATA (loop_vinfo);
/* Cost model disabled. */
- if (unlimited_cost_model ())
+ if (unlimited_cost_model (LOOP_VINFO_LOOP (loop_vinfo)))
{
dump_printf_loc (MSG_NOTE, vect_location, "cost model disabled.\n");
*ret_min_profitable_niters = 0;
@@ -2949,6 +2949,10 @@ vect_estimate_min_profitable_iters (loop_vec_info loop_vinfo,
/* vector version will never be profitable. */
else
{
+ if (LOOP_VINFO_LOOP (loop_vinfo)->force_vect)
+ warning_at (vect_location, OPT_Wopenmp_simd, "vectorization "
+ "did not happen for a simd loop");
+
if (dump_enabled_p ())
dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
"cost model: the vector iteration cost = %d "