aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-pretty-print.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2020-05-11 16:51:48 +0100
committerRichard Sandiford <richard.sandiford@arm.com>2020-05-11 16:51:48 +0100
commitd8bd9d32e8b3e7c2a1bb6fc920efe6691fb5e8b6 (patch)
treecf0ac88538a214da81569718807c2786e012bddf /gcc/tree-pretty-print.c
parent7c00c55914f89bf46ca5d01c7d76e2fcedf795f9 (diff)
downloadgcc-d8bd9d32e8b3e7c2a1bb6fc920efe6691fb5e8b6.zip
gcc-d8bd9d32e8b3e7c2a1bb6fc920efe6691fb5e8b6.tar.gz
gcc-d8bd9d32e8b3e7c2a1bb6fc920efe6691fb5e8b6.tar.bz2
tree-pretty-print: Handle boolean types
AVX512-style masks and SVE-style predicates can be difficult to debug in gimple dumps, since the types are printed like this: vector(4) <unnamed type> foo; Some important details are hidden by that <unnamed type>, such as the number of bits in an element and whether the type is signed or unsigned. This patch uses an ad-hoc syntax for printing unnamed boolean types. Normal frontend ones should be handled by the earlier TYPE_NAME code. 2020-05-11 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-pretty-print.c (dump_generic_node): Handle BOOLEAN_TYPEs.
Diffstat (limited to 'gcc/tree-pretty-print.c')
-rw-r--r--gcc/tree-pretty-print.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
index 885ca8c..f04fd65 100644
--- a/gcc/tree-pretty-print.c
+++ b/gcc/tree-pretty-print.c
@@ -1761,6 +1761,14 @@ dump_generic_node (pretty_printer *pp, tree node, int spc, dump_flags_t flags,
pp_decimal_int (pp, TYPE_PRECISION (node));
pp_greater (pp);
}
+ else if (TREE_CODE (node) == BOOLEAN_TYPE)
+ {
+ pp_string (pp, (TYPE_UNSIGNED (node)
+ ? "<unsigned-boolean:"
+ : "<signed-boolean:"));
+ pp_decimal_int (pp, TYPE_PRECISION (node));
+ pp_greater (pp);
+ }
else if (TREE_CODE (node) == VOID_TYPE)
pp_string (pp, "void");
else