This is to fix a GUID mismatch while decoding pseudo probe, a GUID from the inline tree is not in the GUID2FuncDescMap. It turned out that frontend could change the function name making it different from the one in debug info(https://reviews.llvm.org/D111009). Here change to use the function name from debug info to be consistent with the probe name from the inline stack.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Transforms/IPO/SampleProfileProbe.cpp | ||
---|---|---|
381 | The dwarf name should also be used inside this function. |
Comment Actions
Is the patch mentioned above the only case where name from IR would be different from name in debug info? Just want to make sure this change doesn't have any compatibility issue while fixing the mismatch from the patch.
Comment Actions
Yes, from our internal issue, I dumped all the mismatched GUID function names, they are memcpy.inline, memset.inline, memmove.inline. Interesting, assuming this is the first time we got this mismatch, that means before the frontend all generated a consistent symbol and dwarf name.
The dwarf name should also be used inside this function.