From a5e919027fdb1900a6f2d64f763c99dbaf98aee6 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 23 Oct 2023 14:24:44 +0200 Subject: [PATCH] Consistently order 'OMP_CLAUSE_SELF' right after 'OMP_CLAUSE_IF' As noted in recent commit 3a3596389c2e539cb8fd5dc5784a4e2afe193a2a "OpenACC 2.7: Implement self clause for compute constructs", the OpenACC 'self' clause very much relates to the 'if' clause, and therefore copies a lot of the latter's handling. Therefore it makes sense to also place this handling in proximity to that of the 'if' clause, which was done in a lot but not all instances. gcc/ * tree-core.h (omp_clause_code): Move 'OMP_CLAUSE_SELF' after 'OMP_CLAUSE_IF'. * tree-pretty-print.cc (dump_omp_clause): Adjust. * tree.cc (omp_clause_num_ops, omp_clause_code_name): Likewise. * tree.h: Likewise. --- gcc/tree-core.h | 6 +++--- gcc/tree-pretty-print.cc | 13 +++++++------ gcc/tree.cc | 4 ++-- gcc/tree.h | 4 ++-- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/gcc/tree-core.h b/gcc/tree-core.h index cfe37c1d627..4dc36827d32 100644 --- a/gcc/tree-core.h +++ b/gcc/tree-core.h @@ -389,6 +389,9 @@ enum omp_clause_code { /* OpenACC/OpenMP clause: if (scalar-expression). */ OMP_CLAUSE_IF, + /* OpenACC clause: self. */ + OMP_CLAUSE_SELF, + /* OpenMP clause: num_threads (integer-expression). */ OMP_CLAUSE_NUM_THREADS, @@ -527,9 +530,6 @@ enum omp_clause_code { /* OpenACC clause: nohost. */ OMP_CLAUSE_NOHOST, - - /* OpenACC clause: self. */ - OMP_CLAUSE_SELF, }; #undef DEFTREESTRUCT diff --git a/gcc/tree-pretty-print.cc b/gcc/tree-pretty-print.cc index 39ec1df9394..1fadd752d05 100644 --- a/gcc/tree-pretty-print.cc +++ b/gcc/tree-pretty-print.cc @@ -587,6 +587,13 @@ dump_omp_clause (pretty_printer *pp, tree clause, int spc, dump_flags_t flags) pp_right_paren (pp); break; + case OMP_CLAUSE_SELF: + pp_string (pp, "self("); + dump_generic_node (pp, OMP_CLAUSE_SELF_EXPR (clause), + spc, flags, false); + pp_right_paren (pp); + break; + case OMP_CLAUSE_NUM_THREADS: pp_string (pp, "num_threads("); dump_generic_node (pp, OMP_CLAUSE_NUM_THREADS_EXPR (clause), @@ -1453,12 +1460,6 @@ dump_omp_clause (pretty_printer *pp, tree clause, int spc, dump_flags_t flags) false); pp_right_paren (pp); break; - case OMP_CLAUSE_SELF: - pp_string (pp, "self("); - dump_generic_node (pp, OMP_CLAUSE_SELF_EXPR (clause), - spc, flags, false); - pp_right_paren (pp); - break; default: gcc_unreachable (); } diff --git a/gcc/tree.cc b/gcc/tree.cc index c38b09c431b..cfead156ddf 100644 --- a/gcc/tree.cc +++ b/gcc/tree.cc @@ -280,6 +280,7 @@ unsigned const char omp_clause_num_ops[] = 1, /* OMP_CLAUSE__CONDTEMP_ */ 1, /* OMP_CLAUSE__SCANTEMP_ */ 1, /* OMP_CLAUSE_IF */ + 1, /* OMP_CLAUSE_SELF */ 1, /* OMP_CLAUSE_NUM_THREADS */ 1, /* OMP_CLAUSE_SCHEDULE */ 0, /* OMP_CLAUSE_NOWAIT */ @@ -326,7 +327,6 @@ unsigned const char omp_clause_num_ops[] = 0, /* OMP_CLAUSE_IF_PRESENT */ 0, /* OMP_CLAUSE_FINALIZE */ 0, /* OMP_CLAUSE_NOHOST */ - 1, /* OMP_CLAUSE_SELF */ }; const char * const omp_clause_code_name[] = @@ -372,6 +372,7 @@ const char * const omp_clause_code_name[] = "_condtemp_", "_scantemp_", "if", + "self", "num_threads", "schedule", "nowait", @@ -418,7 +419,6 @@ const char * const omp_clause_code_name[] = "if_present", "finalize", "nohost", - "self", }; /* Unless specific to OpenACC, we tend to internally maintain OpenMP-centric diff --git a/gcc/tree.h b/gcc/tree.h index aaf744c060e..ac94bd7b460 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -1724,6 +1724,8 @@ class auto_suppress_location_wrappers OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_FINAL), 0) #define OMP_CLAUSE_IF_EXPR(NODE) \ OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_IF), 0) +#define OMP_CLAUSE_SELF_EXPR(NODE) \ + OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SELF), 0) #define OMP_CLAUSE_NUM_THREADS_EXPR(NODE) \ OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_NUM_THREADS),0) #define OMP_CLAUSE_SCHEDULE_CHUNK_EXPR(NODE) \ @@ -1734,8 +1736,6 @@ class auto_suppress_location_wrappers OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_HINT), 0) #define OMP_CLAUSE_FILTER_EXPR(NODE) \ OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_FILTER), 0) -#define OMP_CLAUSE_SELF_EXPR(NODE) \ - OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_SELF), 0) #define OMP_CLAUSE_GRAINSIZE_EXPR(NODE) \ OMP_CLAUSE_OPERAND (OMP_CLAUSE_SUBCODE_CHECK (NODE, OMP_CLAUSE_GRAINSIZE),0) -- 2.34.1