DebugInfo: Add (initially no-op) -gsimple-template-names={simple,mangled}
This is to build the foundation of a new debug info feature to use only the base name of template as its debug info name (eg: "t1" instead of the full "t1<int>"). The intent being that a consumer can still retrieve all that information from the DW_TAG_template_*_parameters. So gno-simple-template-names is business as usual/previously ("t1<int>") =simple is the simplified name ("t1") =mangled is a special mode to communicate the full information, but also indicate that the name should be able to be simplified. The data is encoded as "_STNt1|<int>" which will be matched with an llvm-dwarfdump --verify feature to deconstruct this name, rebuild the original name, and then try to rebuild the simple name via the DWARF tags - then compare the latter and the former to ensure that all the data necessary to fully rebuild the name is present.
Loading
Please sign in to comment