[PATCH] D137067: [DebugInfo][Metadata] Make AllEnumTypes holding TrackingMDNodeRef

Kristina Bessonova via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 31 11:18:05 PDT 2022


krisb added a comment.

In D137067#3896524 <https://reviews.llvm.org/D137067#3896524>, @dblaikie wrote:

> Test case can be simplified a bit further:

Thank you!

> but otherwise I'm OK with this - I don't /fully/ understand it, but it sounds plausible enough. (if you have time, I wouldn't mind hearing more about why this requires local types (`Struct3`) and two similar functions to tickle the issue)

The test is just a simplified code sample where the issue was original faced. I'm not sure we specifically need local types or two particular functions, but artificially reproducing the same conditions may be tricky.
Basically, the issue happens only when collisions take place twice:

- first time when a record's temporary debug metadata being replaced by a unique, and
- second time when tempopary's enum user being re-uniquefied.

I haven't studied deeply why the collisions happen in this particular test, since if collisions /may/ happen, we should handle this case correctly.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137067/new/

https://reviews.llvm.org/D137067



More information about the cfe-commits mailing list