Skip to content

[rocjitsu] Cover oversized register region copies - #15121

Merged
IanWood1 merged 1 commit into
developfrom
users/IanWood1/rocjitsu-register-access-copy-bounds
Nov 5, 2026
Merged

IanWood1 merged 1 commit into
developfrom
users/IanWood1/rocjitsu-register-access-copy-bounds

Conversation

@IanWood1

@IanWood1 IanWood1 commented Nov 5, 2026

Copy link
Copy Markdown
Member

Add the missing oversized-copy regression from the post-merge review of #14499. Copying a full-byte, one-register wave64 region into a 65-word destination must return failure, retain the InvalidRegisterAccess diagnostic, and leave the destination unchanged. Also clarify register-access failures in execute_instruction and partial-byte rejection in VgprReadRegion::lanes.

Validated with a RelWithDebInfo wrapper build, all 63 register-access tests, and the changed-file pre-commit checks. Removing only the size guard makes the new regression fail; restoring it returns the suite to passing. Part of #10239.

Add a full-byte oversized-copy regression so partial-byte rejection cannot mask a missing capacity guard. Clarify the register-access failure contracts requested in the post-merge review of #14499.

Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
@therock-pr-bot

therock-pr-bot Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

✅ All Checks Passed — Ready for Review

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ✅ Pass —
🔎 pre-commit ✅ Pass —
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —
🤖 therock-pr-bot ✅ Pass —

🎉 All checks passed! This PR is ready for review.

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

🙋 Wish to Override Policy?

@therock-pr-bot

therock-pr-bot Bot commented Nov 5, 2026

Copy link
Copy Markdown

🎉 All checks passed! This PR is ready for review.

@IanWood1
IanWood1 marked this pull request as ready for review November 5, 2026 16:51
@IanWood1
IanWood1 requested review from a team and atgutier as code owners November 5, 2026 16:51
Copilot AI balanced review requested due to automatic review settings November 5, 2026 16:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues are reported for the regression-test and documentation changes.

No open issues 🎉

What changed in this PR

Adds regression coverage for oversized register-region copies in rocjitsu, supporting the exception-reduction work in #10239 and following up on #14499. Production behavior is unchanged.

Changes:

  • Tests that copying a one-register wave64 region into a 65-word destination fails, retains the InvalidRegisterAccess diagnostic, and leaves the destination unchanged.
  • Clarifies existing failure behavior in the VgprReadRegion::lanes and execute_instruction documentation.
File Description
emulation/​rocjitsu/​tests/​register_access_test.cpp Adds the oversized-copy regression test.
emulation/​rocjitsu/​lib/​rocjitsu/​src/​rocjitsu/​vm/​amdgpu/​register_access.h Documents partial-byte rejection by lanes.
emulation/​rocjitsu/​lib/​rocjitsu/​src/​rocjitsu/​vm/​amdgpu/​compute_unit.h Documents register-access failures from execute_instruction.

Review effort: Balanced

@kuhar kuhar left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@IanWood1
IanWood1 merged commit 51e71bc into develop Nov 5, 2026
107 of 111 checks passed
@IanWood1
IanWood1 deleted the users/IanWood1/rocjitsu-register-access-copy-bounds branch November 5, 2026 20:33
@github-actions

github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

rocjitsu post-commit fuzz passed

The 32-worker multiplexer campaigns for commit 51e71bc5f572 completed without recording a crash or hang.

  • ASan+UBSan (6-minute): 571,786 input executions (1,622.70 inputs/s)
  • TSan (6-minute): 532,983 input executions (1,523.75 inputs/s)

View the workflow run.

@systems-assistant

Copy link
Copy Markdown
Contributor

TheRock Submodule Bump Activity

Newest first

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants