@@ -12194,6 +12194,8 @@ Enable dumps from all interprocedural optimizations.
Enable dumps from all loop optimizations.
@item inline
Enable dumps from all inlining optimizations.
+@item openmp
+Enable dumps from OpenMP optimizations.
@item vec
Enable dumps from all vectorization optimizations.
@item optall
@@ -59,6 +59,9 @@ Loop optimization passes. Enabled by @option{-loop}.
@item OPTGROUP_INLINE
Inlining passes. Enabled by @option{-inline}.
+@item OPTGROUP_OPENMP
+OpenMP passes. Enabled by @option{-openmp}.
+
@item OPTGROUP_VEC
Vectorization passes. Enabled by @option{-vec}.
@@ -136,6 +136,7 @@ static const struct dump_option_value_info optgroup_options[] =
{"ipa", OPTGROUP_IPA},
{"loop", OPTGROUP_LOOP},
{"inline", OPTGROUP_INLINE},
+ {"openmp", OPTGROUP_OPENMP},
{"vec", OPTGROUP_VEC},
{"optall", OPTGROUP_ALL},
{NULL, 0}
@@ -97,7 +97,8 @@ enum tree_dump_index
#define OPTGROUP_LOOP (1 << 2) /* Loop optimization passes */
#define OPTGROUP_INLINE (1 << 3) /* Inlining passes */
#define OPTGROUP_VEC (1 << 4) /* Vectorization passes */
-#define OPTGROUP_OTHER (1 << 5) /* All other passes */
+#define OPTGROUP_OPENMP (1 << 5) /* OpenMP specific transformations */
+#define OPTGROUP_OTHER (1 << 6) /* All other passes */
#define OPTGROUP_ALL (OPTGROUP_IPA | OPTGROUP_LOOP | OPTGROUP_INLINE \
| OPTGROUP_VEC | OPTGROUP_OTHER)
@@ -13990,7 +13990,7 @@ const pass_data pass_data_expand_omp =
{
GIMPLE_PASS, /* type */
"ompexp", /* name */
- OPTGROUP_NONE, /* optinfo_flags */
+ OPTGROUP_OPENMP, /* optinfo_flags */
TV_NONE, /* tv_id */
PROP_gimple_any, /* properties_required */
PROP_gimple_eomp, /* properties_provided */
@@ -14037,7 +14037,7 @@ const pass_data pass_data_expand_omp_ssa =
{
GIMPLE_PASS, /* type */
"ompexpssa", /* name */
- OPTGROUP_NONE, /* optinfo_flags */
+ OPTGROUP_OPENMP, /* optinfo_flags */
TV_NONE, /* tv_id */
PROP_cfg | PROP_ssa, /* properties_required */
PROP_gimple_eomp, /* properties_provided */
@@ -17210,7 +17210,7 @@ grid_find_single_omp_among_assignments_1 (gimple_seq seq, location_t target_loc,
if (*ret)
{
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, target_loc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, target_loc,
"Will not turn target construct into a simple "
"GPGPU kernel because %s construct contains "
"multiple OpenMP constructs\n", name);
@@ -17221,7 +17221,7 @@ grid_find_single_omp_among_assignments_1 (gimple_seq seq, location_t target_loc,
else
{
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, target_loc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, target_loc,
"Will not turn target construct into a simple "
"GPGPU kernel because %s construct contains "
"a complex statement\n", name);
@@ -17244,7 +17244,7 @@ grid_find_single_omp_among_assignments (gimple_seq seq, location_t target_loc,
if (!seq)
{
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, target_loc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, target_loc,
"Will not turn target construct into a simple "
"GPGPU kernel because %s construct has empty "
"body\n",
@@ -17256,7 +17256,7 @@ grid_find_single_omp_among_assignments (gimple_seq seq, location_t target_loc,
if (grid_find_single_omp_among_assignments_1 (seq, target_loc, name, &ret))
{
if (!ret && dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, target_loc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, target_loc,
"Will not turn target construct into a simple "
"GPGPU kernel because %s construct does not contain"
"any other OpenMP construct\n", name);
@@ -17340,7 +17340,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
tree group_size = NULL;
if (!teams)
{
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a simple "
"GPGPU kernel because it does not have a sole teams "
"construct in it.\n");
@@ -17354,7 +17354,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
{
case OMP_CLAUSE_NUM_TEAMS:
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a "
"gridified GPGPU kernel because we cannot "
"handle num_teams clause of teams "
@@ -17363,7 +17363,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
case OMP_CLAUSE_REDUCTION:
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a "
"gridified GPGPU kernel because a reduction "
"clause is present\n ");
@@ -17371,7 +17371,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
case OMP_CLAUSE_LASTPRIVATE:
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a "
"gridified GPGPU kernel because a lastprivate "
"clause is present\n ");
@@ -17394,7 +17394,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
gomp_for *dist = dyn_cast <gomp_for *> (stmt);
if (!dist)
{
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a simple "
"GPGPU kernel because the teams construct does not have "
"a sole distribute construct in it.\n");
@@ -17405,7 +17405,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
if (!gimple_omp_for_combined_p (dist))
{
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a gridified GPGPU "
"kernel because we cannot handle a standalone "
"distribute construct\n ");
@@ -17414,7 +17414,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
if (dist->collapse > 1)
{
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a gridified GPGPU "
"kernel because the distribute construct contains "
"collapse clause\n");
@@ -17427,7 +17427,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
if (group_size && !operand_equal_p (group_size, fd.chunk_size, 0))
{
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a "
"gridified GPGPU kernel because the teams "
"thread limit is different from distribute "
@@ -17449,7 +17449,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
{
case OMP_CLAUSE_NUM_THREADS:
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a gridified"
"GPGPU kernel because there is a num_threads "
"clause of the parallel construct\n");
@@ -17457,7 +17457,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
case OMP_CLAUSE_REDUCTION:
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a "
"gridified GPGPU kernel because a reduction "
"clause is present\n ");
@@ -17465,7 +17465,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
case OMP_CLAUSE_LASTPRIVATE:
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a "
"gridified GPGPU kernel because a lastprivate "
"clause is present\n ");
@@ -17486,7 +17486,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
if (gimple_omp_for_kind (gfor) != GF_OMP_FOR_KIND_FOR)
{
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a gridified GPGPU "
"kernel because the inner loop is not a simple for "
"loop\n");
@@ -17495,7 +17495,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
if (gfor->collapse > 1)
{
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a gridified GPGPU "
"kernel because the inner loop contains collapse "
"clause\n");
@@ -17505,7 +17505,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
if (!grid_seq_only_contains_local_assignments (gimple_omp_for_pre_body (gfor)))
{
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a gridified GPGPU "
"kernel because the inner loop pre_body contains"
"a complex instruction\n");
@@ -17521,7 +17521,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
if (OMP_CLAUSE_SCHEDULE_KIND (clauses) != OMP_CLAUSE_SCHEDULE_AUTO)
{
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a "
"gridified GPGPU kernel because the inner "
"loop has a non-automatic scheduling clause\n");
@@ -17531,7 +17531,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
case OMP_CLAUSE_REDUCTION:
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a "
"gridified GPGPU kernel because a reduction "
"clause is present\n ");
@@ -17539,7 +17539,7 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
case OMP_CLAUSE_LASTPRIVATE:
if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a "
"gridified GPGPU kernel because a lastprivate "
"clause is present\n ");
@@ -17561,17 +17561,17 @@ grid_target_follows_gridifiable_pattern (gomp_target *target, tree *group_size_p
if (dump_enabled_p ())
{
if (is_gimple_call (bad))
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a gridified "
" GPGPU kernel because the inner loop contains "
"call to a noreturn function\n");
if (gimple_code (bad) == GIMPLE_OMP_FOR)
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a gridified "
" GPGPU kernel because the inner loop contains "
"a simd construct\n");
else
- dump_printf_loc (MSG_NOTE, tloc,
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, tloc,
"Will not turn target construct into a gridified "
"GPGPU kernel because the inner loop contains "
"statement %s which cannot be transformed\n",
@@ -17895,7 +17895,7 @@ const pass_data pass_data_lower_omp =
{
GIMPLE_PASS, /* type */
"omplower", /* name */
- OPTGROUP_NONE, /* optinfo_flags */
+ OPTGROUP_OPENMP, /* optinfo_flags */
TV_NONE, /* tv_id */
PROP_gimple_any, /* properties_required */
PROP_gimple_lomp, /* properties_provided */
@@ -19895,7 +19895,7 @@ const pass_data pass_data_omp_simd_clone =
{
SIMPLE_IPA_PASS, /* type */
"simdclone", /* name */
- OPTGROUP_NONE, /* optinfo_flags */
+ OPTGROUP_OPENMP, /* optinfo_flags */
TV_NONE, /* tv_id */
( PROP_ssa | PROP_cfg ), /* properties_required */
0, /* properties_provided */