[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-24 Thread ChenZheng via Phabricator via cfe-commits
shchenz added a comment. Thanks for your review! @dblaikie @aprantl Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100630/new/ https://reviews.llvm.org/D100630 ___ cfe-commits mailing list

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-24 Thread ChenZheng via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG99d45ed22fd9: [Debug-Info] handle DW_TAG_rvalue_reference_type at strict DWARF. (authored by shchenz). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-22 Thread David Blaikie via Phabricator via cfe-commits
dblaikie accepted this revision. dblaikie added a comment. This revision is now accepted and ready to land. In D100630#2775207 , @aprantl wrote: > If gracefully lowering rvalue references to references needs knowledge about > the Clang typesystem (or

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-22 Thread Adrian Prantl via Phabricator via cfe-commits
aprantl added a comment. If gracefully lowering rvalue references to references needs knowledge about the Clang typesystem (or depends on LLVM IR type uniquing to be efficient, as @dblaikie points out) then we should do it in the Clang frontend. As much as we can we should avoid encoding debug

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-21 Thread ChenZheng via Phabricator via cfe-commits
shchenz requested review of this revision. shchenz added a comment. OK, thanks David @dblaikie . Ping for your comments, we need some discussion here to decide we should fix this in FE or BE. See more in https://reviews.llvm.org/D100630#2762354 @aprantl @probinson and other reviewers ^- ^

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-21 Thread David Blaikie via Phabricator via cfe-commits
dblaikie added a comment. I'd still like to hear from some of the other folks mentioned previously. (though there is precedent for debug info modes being frontend, like -gmlt, etc - so it's not totally novel/to be avoided, but I'd like the discussion first) Repository: rG LLVM Github

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-20 Thread ChenZheng via Phabricator via cfe-commits
shchenz added a comment. @dblaikie Hi David, should we change to use the FE solution? Maybe we should fix the issue where it happens? We should not let the FE generate the un-strict dwarf tag in FE and then fix it in the BE. I have changed this patch to fix this strict DWARF issue in FE. What

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-20 Thread ChenZheng via Phabricator via cfe-commits
shchenz updated this revision to Diff 346680. shchenz added a comment. 1: use the solution in the FE Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100630/new/ https://reviews.llvm.org/D100630 Files: clang/lib/CodeGen/CGDebugInfo.cpp

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-17 Thread ChenZheng via Phabricator via cfe-commits
shchenz added a comment. In D100630#2760972 , @dblaikie wrote: > This isn't the sort of thing I'd like to leave to a FIXME later - seems like > the sort of thing we shouldn't create now to fix later. > > @aprantl mind having a second look at this to

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-15 Thread David Blaikie via Phabricator via cfe-commits
dblaikie added a comment. This isn't the sort of thing I'd like to leave to a FIXME later - seems like the sort of thing we shouldn't create now to fix later. @aprantl mind having a second look at this to consider the situation further? Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-14 Thread ChenZheng via Phabricator via cfe-commits
shchenz added a comment. Thanks for your comments! @dblaikie @aprantl . I think we have an agreement that we should handle the strict dwarf tag in the backend. And for duplicated tags issue, since it may need a while to fix, I have added a TODO in the code change and also update to test case

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-14 Thread ChenZheng via Phabricator via cfe-commits
shchenz updated this revision to Diff 345333. shchenz added a comment. 1: add the FIXME for the duplicated tags issue Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100630/new/ https://reviews.llvm.org/D100630 Files:

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-13 Thread David Blaikie via Phabricator via cfe-commits
dblaikie added a comment. In D100630#2755936 , @aprantl wrote: > Doing this in the backend SGTM, assuming all of @dblaikie's comments are > addressed. The complication is that if we naively lower DW_TAG_rvalue_reference to DW_TAG_reference, then we'll

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-13 Thread Adrian Prantl via Phabricator via cfe-commits
aprantl added a comment. Doing this in the backend SGTM, assuming all of @dblaikie's comments are addressed. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100630/new/ https://reviews.llvm.org/D100630

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-11 Thread ChenZheng via Phabricator via cfe-commits
shchenz added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:398-399 + +// Assertion for other cases. +assert(true && "Tag is generated not following strict DWARF!"); + } dblaikie wrote: > side note: Not sure what this assertion

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-11 Thread ChenZheng via Phabricator via cfe-commits
shchenz updated this revision to Diff 344300. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100630/new/ https://reviews.llvm.org/D100630 Files: llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp llvm/test/DebugInfo/PowerPC/strict-dwarf-tags.ll Index:

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-11 Thread David Blaikie via Phabricator via cfe-commits
dblaikie added a comment. In D100630#2749625 , @shchenz wrote: > In D100630#2749594 , @dblaikie > wrote: > >> In D100630#2749550 , @shchenz >> wrote: >> >>> In

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-11 Thread ChenZheng via Phabricator via cfe-commits
shchenz added a comment. In D100630#2749594 , @dblaikie wrote: > In D100630#2749550 , @shchenz wrote: > >> In D100630#2748899 , @dblaikie >> wrote: >> >>> Does this

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-11 Thread ChenZheng via Phabricator via cfe-commits
shchenz added a comment. In D100630#2748899 , @dblaikie wrote: > Does this cause duplicate DW_TAG_reference_types in the output, if the input > IR Has both DW_TAG_reference_type and DW_TAG_rvalue_reference_types? Yes, it will cause such issue in

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-11 Thread David Blaikie via Phabricator via cfe-commits
dblaikie added a comment. In D100630#2749550 , @shchenz wrote: > In D100630#2748899 , @dblaikie > wrote: > >> Does this cause duplicate DW_TAG_reference_types in the output, if the input >> IR Has both

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-11 Thread ChenZheng via Phabricator via cfe-commits
shchenz updated this revision to Diff 344269. shchenz marked an inline comment as done. shchenz added a comment. 1: address @dblaikie comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100630/new/ https://reviews.llvm.org/D100630 Files:

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-10 Thread David Blaikie via Phabricator via cfe-commits
dblaikie added a comment. Does this cause duplicate DW_TAG_reference_types in the output, if the input IR Has both DW_TAG_reference_type and DW_TAG_rvalue_reference_types? Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp:391 + // version. + dwarf::Tag FixedTag =

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-10 Thread ChenZheng via Phabricator via cfe-commits
shchenz added a comment. In D100630#2745272 , @dblaikie wrote: > Mixed feelings - is this the only place where we're changing behavior for > strict-DWARF in the frontend/clang? (maybe it'd be better to do it all in the > same place, down in the backend

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-10 Thread ChenZheng via Phabricator via cfe-commits
shchenz updated this revision to Diff 343983. shchenz added a comment. Herald added subscribers: llvm-commits, hiraditya, nemanjai. Herald added a project: LLVM. update according to @dblaikie comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-08 Thread David Blaikie via Phabricator via cfe-commits
dblaikie added a comment. Mixed feelings - is this the only place where we're changing behavior for strict-DWARF in the frontend/clang? (maybe it'd be better to do it all in the same place, down in the backend when the IR is mapped to actual DWARF) @aprantl @probinson - you two have any

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-05-07 Thread ChenZheng via Phabricator via cfe-commits
shchenz added a comment. gentle ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100630/new/ https://reviews.llvm.org/D100630 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-04-21 Thread ChenZheng via Phabricator via cfe-commits
shchenz updated this revision to Diff 338695. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100630/new/ https://reviews.llvm.org/D100630 Files: clang/lib/CodeGen/CGDebugInfo.cpp clang/test/CodeGenCXX/debug-info-rvalue-ref.cpp Index:

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-04-21 Thread ChenZheng via Phabricator via cfe-commits
shchenz updated this revision to Diff 338755. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100630/new/ https://reviews.llvm.org/D100630 Files: clang/lib/CodeGen/CGDebugInfo.cpp clang/test/CodeGenCXX/debug-info-rvalue-ref.cpp Index:

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-04-21 Thread ChenZheng via Phabricator via cfe-commits
shchenz added a comment. In D100630#2697732 , @dblaikie wrote: > In D100630#2697728 , @shchenz wrote: > >> In D100630#2694681 , @probinson >> wrote: >> >>> If DBX is

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-04-19 Thread David Blaikie via Phabricator via cfe-commits
dblaikie added a comment. In D100630#2697728 , @shchenz wrote: > In D100630#2694681 , @probinson > wrote: > >> If DBX is going to be really pedantic about not recognizing tags or >> attributes that don't align

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-04-19 Thread ChenZheng via Phabricator via cfe-commits
shchenz added a comment. In D100630#2694681 , @probinson wrote: > If DBX is going to be really pedantic about not recognizing tags or > attributes that don't align with the DWARF version, maybe we're better off > with really supporting `-gstrict-dwarf`

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-04-16 Thread Jinsong Ji via Phabricator via cfe-commits
jsji added a comment. In D100630#2694681 , @probinson wrote: > If DBX is going to be really pedantic about not recognizing tags or > attributes that don't align with the DWARF version, maybe we're better off > with really supporting `-gstrict-dwarf`

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-04-16 Thread Paul Robinson via Phabricator via cfe-commits
probinson added a comment. If DBX is going to be really pedantic about not recognizing tags or attributes that don't align with the DWARF version, maybe we're better off with really supporting `-gstrict-dwarf` and just have DBX tuning imply that. Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D100630: [Debug-Info][DBX] DW_TAG_rvalue_reference_type should not be generated when dwarf version is smaller than 4

2021-04-16 Thread ChenZheng via Phabricator via cfe-commits
shchenz created this revision. shchenz added reviewers: dblaikie, aprantl, probinson, jsji, Esme, echristo, PowerPC. shchenz added a project: debug-info. shchenz requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. As discussed in D99250