[PATCH] D109970: [DebugInfo] Support DW_AT_defaulted
David Blaikie via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 19 14:50:51 PDT 2021
dblaikie added a comment.
In D109970#3007280 <https://reviews.llvm.org/D109970#3007280>, @probinson wrote:
> In D109970#3006806 <https://reviews.llvm.org/D109970#3006806>, @dblaikie wrote:
>
>> Any particular use case in mind for this debug info? (generally I'd rather we not emit extra DWARF we don't have some use case for in mind)
>
> I don't think Sony has a use for it. The description in section 5.7.8 suggests in/out of class defaulting can affect calling conventions,
I think that came out of a misunderstanding that ultimately resulted in a more robust/complete solution involving the `DW_AT_calling_convention` attribute.
> and I see gcc emitting it, so I figured there was likely some use for it. I suppose I could see if any gdb tests would start working because of this, but apart from that, no I don't have a use-case in mind.
Yeah, if there's any evidence this is being used, that'd be helpful I think - otherwise I'd be inclined to leave it until there's a motivating use case (especially given, to the best of my understanding of the conversations at the time, where this came out of & that `DW_AT_calling_convention` ended up being necessary anyway)
>> (& if/when this is committed, should be in 3 parts - dwarfdump support, IR/codegen support (can be split into two if you like, but doesn't have to be), and Clang support)
>
> I did originally have this as separate LLVM and Clang commits, happy to split it back up.
I don't mind/think it's good to review it together, but separable parts should be committed separately when it comes to that.
> The dwarfdump support already existed, there just wasn't a test, so I tucked that into the IR/codegen changes; I guess adding the dump test could be its own thing.
Yeah, that'd be great if you could commit the test coverage separately/ahead of the rest of any of this.
> CodeGen is what makes use of the IR flags, splitting them means one patch defines new IR flags that... aren't used for anything? I figure they're better off in one patch.
Yeah, that's a marginal area where splitting may or may not be done - we're not especially serious about that. Though it can help separate a lot of mechanical work to plumb the stuff through IR (& that work will have its own test coverage - IR parsing/writing/bitcode/etc roundtripping) - even if it has no observable effect on the whole invocation of clang/llc/etc. Separating all that mechanical stuff from a few lines of semantic/more nuanced code in lib/CodeGen/AsmPrinter and testing those pieces separately.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D109970/new/
https://reviews.llvm.org/D109970
More information about the llvm-commits
mailing list