https://gcc.gnu.org/g:ee7a3777ff2fab76b7243d3ab1803ebb2edf4cea

commit ee7a3777ff2fab76b7243d3ab1803ebb2edf4cea
Author: Sandra Loosemore <sloosem...@baylibre.com>
Date:   Fri May 10 02:41:41 2024 +0000

    OpenMP: Improve raw pretty-printing of gimple metadirectives.
    
    gcc/ChangeLog
            * gimple-pretty-print.cc (dump_gimple_omp_metadirective): Print
            variants in raw output.

Diff:
---
 gcc/ChangeLog.omp          |  3 ++-
 gcc/gimple-pretty-print.cc | 18 ++++++++++++++++--
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp
index 16e07e7ad95..e8b88e274ff 100644
--- a/gcc/ChangeLog.omp
+++ b/gcc/ChangeLog.omp
@@ -5,7 +5,8 @@
        (convert_local_reference_stmt): Likewise.
        (convert_tramp_reference_stmt): Likewise.
        (convert_gimple_call): Likewise.
-
+       * gimple-pretty-print.cc (dump_gimple_omp_metadirective): Print
+       variants in raw output.
 
 2024-04-22  Sandra Loosemore  <sloosem...@baylibre.com>
 
diff --git a/gcc/gimple-pretty-print.cc b/gcc/gimple-pretty-print.cc
index ff22833c211..d4384f38f0d 100644
--- a/gcc/gimple-pretty-print.cc
+++ b/gcc/gimple-pretty-print.cc
@@ -2082,8 +2082,22 @@ dump_gimple_omp_metadirective (pretty_printer *buffer, 
const gimple *gs,
                               int spc, dump_flags_t flags)
 {
   if (flags & TDF_RAW)
-    dump_gimple_fmt (buffer, spc, flags, "%G <%+BODY <%S> >", gs,
-                    gimple_omp_body (gs));
+    {
+      dump_gimple_fmt (buffer, spc, flags, "%G <%+BODY <%S>", gs,
+                      gimple_omp_body (gs));
+      dump_gimple_fmt (buffer, spc, flags, "%+VARIANTS");
+      gimple_seq variant_seq = gimple_omp_variants (gs);
+      gimple_stmt_iterator gsi = gsi_start (variant_seq);
+
+      for (unsigned i = 0; i < gimple_num_ops (gs); i++)
+       {
+         gimple *variant = gsi_stmt (gsi);
+         dump_gimple_fmt (buffer, spc, flags, "%+<%S>",
+                          gimple_omp_body (variant));
+         gsi_next (&gsi);
+       }
+      dump_gimple_fmt (buffer, spc, flags, "%n>");
+    }
   else
     {
       pp_string (buffer, "#pragma omp metadirective");

Reply via email to