[clang] [MS-ABI] create unique vftable name for vftable defined with internal alias. (PR #71748)

via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 9 07:39:00 PST 2023


jyu2-git wrote:

Hi @efriedma-quic,

Thanks for looking into this.  First for test case:
We are having difficult to reproduce the problem with small test case, the error come from very big application, which related various heuristics to trigger in a specific way to get the symbol renaming to happen, then for the inliner to occur on selected instances, and then for dead function elimination to happen...

Second, 
>>LangRef says "Because the name of the object must match the name of the COMDAT group, the linkage of the global object must not be local; local symbols can get renamed if a collision occurs in the symbol table." I think that means the IR clang generates is illegal, but I guess nothing in the backend actually checks this.

Except that error we see, there is no other verification check that.

Third:
>>I guess that's https://github.com/llvm/llvm-project/commit/b2615aa44d0cabd821b7afe5acdc847af9937c76... but I'm pretty sure we fixed -fdata-sections so the backend automatically generates comdats. So maybe we should just revert that.

Let me try to revert that, to see if I can get through all tests, just worry about ABI change.

Thank you so much for looking into.

Jennifer


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


More information about the cfe-commits mailing list