Repository navigation
Use NVVM debug metadata merge behavior for native LTO - #1564
Conversation
Signed-off-by: Trent Nelson <trent@trent.me>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
Integrate the current main baseline and revalidate all debug exporter regressions and strict Clippy on the pinned stable compiler. Signed-off-by: Melih Elibol <1884921+elibol@users.noreply.github.com>
|
/ok to test a28eee3 |
|
Updated to All 26 debug-exporter tests and strict Included as a v0.5.0 debugging/interop candidate in #1606 and draft #1613. This is separate from the Tile source-location and CUDA-GDB breakpoint issues. |
elibol
left a comment
There was a problem hiding this comment.
Reviewed the current head. The NVVM-only Debug Info Version merge behavior matches the NVVM specification, while ordinary LLVM export retains its existing behavior. The regression covers both LineTables and Full NVVM output and preserves the ordinary LLVM case. Approving this narrowly scoped metadata compatibility fix.
Native debug links can fail when Rust and nvcc LTO-IR disagree on the merge behavior of the
Debug Info Versionmodule flag. Emit NVVM’s requiredErrorbehavior for NVVM output while preserving ordinary LLVM’sWarningbehavior and the metadata version.Exporter tests cover direct LLVM and modern NVVM line/full debug modes. Local mixed Rust/native links retain line information and full CUBIN DWARF at sm_120 and sm_100; the existing legacy debug rejection is preserved.
The flag requirement is specified in NVVM source-level debugging support.