On Thu, Feb 10, 2022 at 11:20 PM Thomas Schwinge <tho...@codesourcery.com> wrote: > > Hi! > > On 2022-02-10T16:36:51+0000, Michael Matz via Gcc-patches > <gcc-patches@gcc.gnu.org> wrote: > > On Thu, 10 Feb 2022, Richard Biener via Gcc-patches wrote: > >> On Wed, Feb 9, 2022 at 2:21 PM Thomas Schwinge <tho...@codesourcery.com> > >> wrote: > >> > OK to push (now, or in next development stage 1?) the attached > >> > "Consider 'TDF_UID', 'TDF_NOUID' in 'print_node_brief', 'print_node'", > >> > or should that be done differently -- or, per the current state (why?) > >> > not at all? > > First, thanks for (indirectly) having confirmed that my confusion is not > completely off, why this is currently missing. ;-) > > >> Hmm, I wonder if we shouldn't simply dump DECL_UID as > >> > >> 'uid NNN' > > > > Yes, much better in line with the normal dump_tree output. > > >> somewhere. For example after or before DECL_NAME? > > Heh -- that's what I wanted to do initially, but then I saw that we've > currently got in 'print_node_brief' (and very similar in 'print_node'): > > [...] > fprintf (file, "%s <%s", prefix, get_tree_code_name (TREE_CODE (node))); > dump_addr (file, " ", node); > > if (tclass == tcc_declaration) > { > if (DECL_NAME (node)) > fprintf (file, " %s", IDENTIFIER_POINTER (DECL_NAME (node))); > else if (TREE_CODE (node) == LABEL_DECL > && LABEL_DECL_UID (node) != -1) > { > if (dump_flags & TDF_NOUID) > fprintf (file, " L.xxxx"); > else > fprintf (file, " L.%d", (int) LABEL_DECL_UID (node)); > } > else > { > if (dump_flags & TDF_NOUID) > fprintf (file, " %c.xxxx", > TREE_CODE (node) == CONST_DECL ? 'C' : 'D'); > else > fprintf (file, " %c.%u", > TREE_CODE (node) == CONST_DECL ? 'C' : 'D', > DECL_UID (node)); > } > } > [...] > > That is, if there's no 'DECL_NAME', we print 'L.[UID]', 'C.[UID]', > 'D.[UID]'. The same we do in 'gcc/tree-pretty-print.cc:dump_decl_name', > I found. But in the latter function, we also do it that same way if > there is a 'DECL_NAME' ('i' -> 'iD.4249', for example), so that's why I > copied that style back to my proposed 'print_node_brief'/'print_node' > change. > > Are you now suggesting to only print 'DECL_NAME' as '[NAME] uid [UID]', > but keep 'L.[UID]', 'C.[UID]', 'D.[UID]' in the "dot" form, or change > these to 'L uid [UID]', 'C uid [UID]', 'D uid [UID]' correspondingly?
I'd say these should then be 'D.[UID] uid [UID]' even if that's somewhat redundant. > And also do the similar changes in > 'gcc/tree-pretty-print.cc:dump_decl_name' (as well as another dozen or so > places where such things are printed...), or don't change those? Don't change those - you were targeting the tree dumper, not the pretty printers. The tree dumpers generally dump attributes separately. > > I don't care very much which way, just have some slight preference to > keep things similar. > > > Grüße > Thomas > ----------------- > Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 > München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas > Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht > München, HRB 106955