vsavchenko added a comment. Thanks for working on it, but it is a quite large change that I don't get the motivation for (it doesn't even fix the recently found bug).
Summary explains what the patch does, but for why it is done, it talks about an invariant that is not specified anywhere in the code. When I was implementing it, trivial class is a symbol that was never ever equal to anything else. The moment we make merge something into it, it stops being trivial, forever! Representative is an implementation detail and shouldn't be required to represent the actual information. What I'm saying is that representative can be long gone, but the class can still hold. If we use representative symbol for something other than its pointer or type after it's gone, the mistake is using representative in the first place, not the motivation to make it more complex and change representatives. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106136/new/ https://reviews.llvm.org/D106136 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits