dump CTORs properly wrapped with _Literal with -gimple
authorRichard Biener <rguenther@suse.de>
Thu, 30 Jan 2020 14:43:09 +0000 (15:43 +0100)
committerRichard Biener <rguenther@suse.de>
Thu, 30 Jan 2020 14:44:24 +0000 (15:44 +0100)
This wraps { ... } in _Literal (type) for consumption by the GIMPLE FE.

2020-01-30  Richard Biener  <rguenther@suse.de>

* tree-pretty-print.c (dump_generic_node): Wrap VECTOR_CST
and CONSTRUCTOR in _Literal (type) with TDF_GIMPLE.

gcc/ChangeLog
gcc/tree-pretty-print.c

index 00d200ecf167978f9b1d0aa3c4e8f5ae44184198..ab1161bf43811a6f08f77a9977fc71f1a422b2f5 100644 (file)
@@ -1,3 +1,8 @@
+2020-01-30  Richard Biener  <rguenther@suse.de>
+
+       * tree-pretty-print.c (dump_generic_node): Wrap VECTOR_CST
+       and CONSTRUCTOR in _Literal (type) with TDF_GIMPLE.
+
 2020-01-30  John David Anglin  <danglin@gcc.gnu.org>
 
        * config/pa/pa.c (pa_elf_select_rtx_section): Place function pointers
index fe2e62b31ba0a8d701d86d1f13756111cf085ea9..7de8c7b0cb723c8abcfd7ba49ab4176175fa8f32 100644 (file)
@@ -2078,6 +2078,12 @@ dump_generic_node (pretty_printer *pp, tree node, int spc, dump_flags_t flags,
     case VECTOR_CST:
       {
        unsigned i;
+       if (flags & TDF_GIMPLE)
+         {
+           pp_string (pp, "_Literal (");
+           dump_generic_node (pp, TREE_TYPE (node), spc, flags, false);
+           pp_string (pp, ") ");
+         }
        pp_string (pp, "{ ");
        unsigned HOST_WIDE_INT nunits;
        if (!VECTOR_CST_NELTS (node).is_constant (&nunits))
@@ -2315,6 +2321,12 @@ dump_generic_node (pretty_printer *pp, tree node, int spc, dump_flags_t flags,
        bool is_struct_init = false;
        bool is_array_init = false;
        widest_int curidx;
+       if (flags & TDF_GIMPLE)
+         {
+           pp_string (pp, "_Literal (");
+           dump_generic_node (pp, TREE_TYPE (node), spc, flags, false);
+           pp_string (pp, ") ");
+         }
        pp_left_brace (pp);
        if (TREE_CLOBBER_P (node))
          pp_string (pp, "CLOBBER");