Repository navigation
Add line-table debug metadata - #225
Merged
Merged
Conversation
This was referenced Jun 15, 2026
Collaborator
Author
|
Follow-up from testing a larger example: I pushed a narrow fix in |
…llocator # Conflicts: # crates/llvm-export/tests/export_test.rs
This was referenced Aug 21, 2026
meefs
pushed a commit
to meefs/cuda-oxide
that referenced
this pull request
Sep 30, 2026
Co-authored-by: Melih Elibol <elibol@users.noreply.github.com>
meefs
pushed a commit
to meefs/cuda-oxide
that referenced
this pull request
Sep 30, 2026
…NVIDIA#225, NVIDIA#185) (NVIDIA#256) Three squash merges landed from branches that had resolved a merge against main by keeping pre-merge copies of files, so each one quietly reverted an earlier, unrelated merge: - NVIDIA#239 (2482cb9) reverted NVIDIA#240 (1216aef): the const raw-pointer surface (as_ptr, program_id/num_programs, the cast_* and get_tensor_base helpers, unsafe on load_ptr_tko/store_ptr_tko), the compiler's const-pointer typing, the two GPU test files and the matching book and tutorial text. - NVIDIA#247 (5f5f4c5) reverted NVIDIA#225 (a2843e7): integer division and remainder serialization (rounding<zero> and inferred signedness on divi/remi) and its test. - NVIDIA#187 (35a9cc2) reverted NVIDIA#185 (cbf52c0): the flake.nix toolkit-assembly hardening and host-arch driver directory derivation. This re-applies all three verbatim as cherry-picks. The only overlapping file, cutile-book/guide/performance.md, merges cleanly with NVIDIA#239's own edits. A per-file scan of the last 60 merges finds no other reversal still missing at HEAD: NVIDIA#249's removal of the About page was deliberate, and the two setup-python flips in .github/workflows/pages.yml were re-applied by the later dependabot bump. Verified: cargo fmt, cargo build, and the restored GPU tests (const_pointers, program_id) plus integer_ops, memory_and_atomic_ops and optimization_hints pass on an RTX 5090 with CUDA 13.3. Signed-off-by: Melih Elibol <elibol@users.noreply.github.com> Co-authored-by: Gabriel Wu <13583761+lucifer1004@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This adds the first useful slice of device debug info: line tables. It carries rustc spans into pliron locations, emits the minimal LLVM debug metadata needed by NVPTX, and wires the debug gate through rustc
-C debuginfoplus aCUDA_OXIDE_DEBUGoverride.Concretely:
Location::SrcPosinstead of stringifying themDIFile,DICompileUnit,DISubprogram,DILocation,!llvm.dbg.cu, and debug module flags!dbgto function definitions and real LLVM instructionsCloses #224.
Closes #105.
Follow-up for full variable/type debug metadata: #226.
Related: #106, #103, #67.
Validation
cargo fmt --all -- --checkcargo fmt --all -- --checkincrates/rustc-codegen-cudacargo clippy --workspace -- -D warningscargo clippy --all-targets -- -D warningsincrates/rustc-codegen-cudacargo test -p cuda-core --libcargo test --manifest-path crates/rustc-codegen-cuda/Cargo.tomlcargo test -p llvm-exportRUSTDOCFLAGS="-D warnings" cargo doc --no-deps --workspacecargo test --doc --workspace --exclude cuda-bindingsscripts/check-error-example-status.shcargo deny checkCUDA_OXIDE_DEBUG=line-tables cargo oxide pipeline compiler_featuresopt-20 -O2round-trip oncompiler_features.llvecaddhits device source lines and shows a device backtrace throughcuda-device/src/thread.rsandsrc/main.rsFull examples smoketest is being run separately.