-
Notifications
You must be signed in to change notification settings - Fork 55
Generate line info for PHI exporters in terminator block #756
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Auto-sync is disabled for ready for review pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
Greptile OverviewGreptile SummaryFixes debugger stepping behavior in Confidence Score: 5/5
Important Files Changed
|
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.
2 files reviewed, no comments
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.
2 files reviewed, no comments
|
/ok to test 5e4aef0 |
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.
2 files reviewed, no comments
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.
2 files reviewed, no comments
|
/ok to test 69f94c2 |
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.
2 files reviewed, no comments
|
/ok to test 2b13798 |
|
Thanks @jiel-nv! |
- Add CUDA FP8 type + conversion bindings (E5M2/E4M3/E8M0), HW-accel detection, and comprehensive tests (NVIDIA#686) - fix: fix boolean return type mismatch in C ABI wrapper (NVIDIA#770) - Remove unused `rtapi.py` (NVIDIA#773) - feat: Add documentation for debugging Numba CUDA programs with CUDA GDB and VSCode (NVIDIA#665) - Move `CallConv` from `CUDAContext` to `FunctionDescriptor` (NVIDIA#717) - Generate line info for PHI exporters in terminator block (NVIDIA#756) - Add `cuda-core` to `oldest` tests (NVIDIA#769) - build(deps): bump actions/setup-python from 6.1.0 to 6.2.0 in the actions-monthly group across 1 directory (NVIDIA#768) - Enable apt proxy caching; skip hosted Windows builds (NVIDIA#766) - Disable automatic review trigger for Greptile (NVIDIA#743) - test(refactor): clean up `run_in_subprocess` (NVIDIA#762) - remove super args (NVIDIA#763)
- Add CUDA FP8 type + conversion bindings (E5M2/E4M3/E8M0), HW-accel detection, and comprehensive tests (#686) - fix: fix boolean return type mismatch in C ABI wrapper (#770) - Remove unused `rtapi.py` (#773) - feat: Add documentation for debugging Numba CUDA programs with CUDA GDB and VSCode (#665) - Move `CallConv` from `CUDAContext` to `FunctionDescriptor` (#717) - Generate line info for PHI exporters in terminator block (#756) - Add `cuda-core` to `oldest` tests (#769) - build(deps): bump actions/setup-python from 6.1.0 to 6.2.0 in the actions-monthly group across 1 directory (#768) - Enable apt proxy caching; skip hosted Windows builds (#766) - Disable automatic review trigger for Greptile (#743) - test(refactor): clean up `run_in_subprocess` (#762) - remove super args (#763)
Fixes nvbug5811432.
When stepping through code in
cuda-gdb, the debugger would jump to unrelated lines (where variables were last assigned) before reaching thecontinuestatement when the condition is TURE. For example, with this code snippet:The debugger would step: 280 → 295 → 281, instead of the expected 280 → 281.
The root cause is during stripping off PHI nodes and creating exporters, a uniformed
rhs.loc(the location where the RHS variable was last assigned) is used as the source location. Despite of the existing WITH and WITHOUT assignments cases already handing the place to insert the exporters, the location info are not well handled.The fix is to conditionally set the
locfor PHI exporter assignments:If the variable is assigned in the current block: Use
rhs.locto preserve the assignment site's location.If the variable is NOT assigned in the current block (pass-through in
continue/break): Useterm_loc(the block terminator's location, i.e., thecontinue/breakstatement's line number).Also adds a test
test_terminator_line_numberintotest_debuginfo.