Closed Bug 1465546 Opened 7 years ago Closed 6 years ago

investigate whether symbol files produced by clang-cl are comparable to MSVC ones

Categories

(Firefox Build System :: Toolchains, enhancement)

3 Branch
All
Windows
enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: froydnj, Unassigned)

References

Details

This would be a good smoketest for whether the debugging experience with clang-cl is liable to be any good, and it would ensure that our crash reports with a clang-cl compiled browser would be reasonable as well.
You probably want to pass "-Xclang", "-mllvm", "-Xclang", "-instcombine-lower-dbg-declare=0", before looking at this, else you'll likely get lots of 'value not available' in your dumps.
Seems like this ship has sailed at this point, eh?
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INCOMPLETE
FWIW this was on my radar but I was deliberately waiting to see if anyone complained about debug quality before we applied this. I guess we can reopen if/when needed.
See https://sites.google.com/a/ocallahan.org/www/blog/ClangInstcombine.png. Adding -instcombine-lower-dbg-declare=0 improved my coverage metric for local variables in libxul from 47% to 62%. That's a huge improvement. (See https://robert.ocallahan.org/2018/11/comparing-quality-of-debug-information.html for the metric methodology.) According to the documentation for this option, it can lead to incorrect debuginfo, and I have no way of determining how often that happens. But Chrome is using this flag.
David, thoughts on enabling this for Firefox?
Flags: needinfo?(dmajor)
Given the potential downsides it's not an immediately obvious "let's do it". I would like to see someone demonstrate a real-world bug investigation where this flag made things better and didn't make things worse.
Flags: needinfo?(dmajor)
Version: Version 3 → 3 Branch
You need to log in before you can comment on or make changes to this bug.