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. Tested on aarch64-linux-gnu and x86_64-linux-gnu. OK to install? Richard 2020-05-07 Richard Sandiford <richard.sandif...@arm.com> gcc/ * tree-pretty-print.c (dump_generic_node): Handle BOOLEAN_TYPEs. --- gcc/tree-pretty-print.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c index 885ca8cd329..f04fd65091a 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