[llvm] [RemoveDIs] Load into new debug info format by default in LLVM (PR #89799)
Stephen Tozer via llvm-commits
llvm-commits at lists.llvm.org
Thu May 23 04:00:15 PDT 2024
SLTozer wrote:
> I know that the task is still on our side to figure out the issue, as this seems really difficult on your side.
Thanks for this, and also for the additional info. I was beginning to suspect that a specific sample would be needed; part of the preconditions for the problem that you gave in your previous post are that the problem function is reachable from an instruction metadata attachment, and I've found exactly one instruction (in my non-reproducing build) prior to function importing that has the requisite attachment; that instruction exists in `NumberObjectConversionChecker`, and I can't see any way (in my build) for it to be imported into `PointerIterationChecker`, so it's not clear how/why the ValueMapper would touch it, though it could happen in the reverse case (importing `NumberObjectConversionChecker` into `PointerIterationChecker`).
Based on where this error first appears, I suspect that the sample profile is only needed to produce the bitcode modules for the thin link; the error happens during importing, which I think (I'm not very familiar with ThinLTO or PGO) happens before llvm-lto2 performs any post-link optimizations that would use the sample profile; if that's correct, then it should be possible to reproduce the error with just the pre-LTO bitcode modules (which could then be reduced further if needed by reducing the objects passed to the link) and the linker flags. If that is the case, and you can get a reproducer that contains no internal data, I should be able to handle the investigation.
https://github.com/llvm/llvm-project/pull/89799
More information about the llvm-commits
mailing list