Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reapply "[DebugInfo][RemoveDIs] Turn on non-instrinsic debug-info by …
…default" This reapplies commit bdde5f9 by undoing the revert bc66e0c. The previous reapplication 5c9f768 was reverted due to a crash (reproducer in comments for 5c9f768) which was fixed in #81595. As noted in the original commit, this commit may break downstream tests. If this commit is breaking your downstream tests, please see comment 12 in [0], which documents the kind of variation in tests we'd expect to see from this change and what to do about it. [0] https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939
- Loading branch information
d759618
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
another crash:
d759618
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the catch; are the two crashes so far are coming from the same codebase, and if so is it opensource so that we can test over that before turning on again?
d759618
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We've also noticed a test regression after this change: we have a very basic smoke test to ensure the compiler produces some debug info, and it consists of a test program like this:
and some logic that runs the test program under gdb and tries to print
main
. When building with-O0 -flto=thin
(weird combination of flags, it comes from generating combinations of a bunch of configs we need to test) it drops the arguments to main and we get something like this from the debugger:@dwblaikie helped me verify that this reproduces upstream:
d759618
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah they're both from Chromium. the problem is that there are so many configurations (opt level, arch, OS, debug level) that it'd be hard to test them all manually. personally I'm fine with continually relanding and reverting, I don't think there are too many issues left given that I only saw this issue when monitoring the bots today, but the bots can take a while to cycle and I may have missed others.
d759618
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@slackito wrote:
Thanks for the report; I think this was likely fixed with fa77e1f a couple of hours ago -- we'd completely missed a hole where the ThinLTO writer wasn't seeing the right flavour of debug-info (facepalms all around). You should be able to confirm it doesn't reproduce with the tip of master by adding
-mllvm --experimental-debuginfo-iterators=true
to the clang command line.Cool, if it's not majorly interfering with peoples workflows then that's great, obviously we don't want to (un-necessarily) fuzz other peoples CIs.
d759618
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the reduced reproducer! That's fxed in #81737.
d759618
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Re-landed this in a93a4ec
d759618
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, can confirm that seems to address the ThinLTO issue. Thanks!