[clang] [DebugInfo] Add flag to only emit referenced member functions (PR #87018)

David Blaikie via cfe-commits cfe-commits at lists.llvm.org
Tue May 28 08:56:28 PDT 2024


================
@@ -4260,6 +4260,13 @@ defm strict_dwarf : BoolOption<"g", "strict-dwarf",
           "the specified version, avoiding features from later versions.">,
   NegFlag<SetFalse>, BothFlags<[], [ClangOption, CLOption, DXCOption]>>,
   Group<g_flags_Group>;
+defm omit_unreferenced_members : BoolOption<"g", "omit-unreferenced-members",
+  CodeGenOpts<"DebugOmitUnreferencedMembers">, DefaultFalse,
+  PosFlag<SetTrue, [], [ClangOption, CC1Option],
+  	"Omit member function declarations from type descriptions if the "
+	"member is unreferenced.">,
+  NegFlag<SetFalse>, BothFlags<[], [ClangOption, CLOption, DXCOption]>>,
+  Group<g_flags_Group>;
----------------
dwblaikie wrote:

I looked into this - and I couldn't find any example where MarshallingInfoFlag would allow us to omit the renderDebugOptions code - do you have an example in mind? 

And it seems like BoolOption could even be replaced with BoolGOption, and that either of those does use Marshalling stuff? (the BoolOption< def in clang Options.td has some `MarshalledFlagRec` stuff at the end?)

https://github.com/llvm/llvm-project/pull/87018


More information about the cfe-commits mailing list