Repository navigation
[rocjitsu] Return DBI test fixture encoding failures - #14869
Merged
Merged
Conversation
Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Preserve builder reasons and probe-call stage context at remaining callers. Simplify migrated test sequences while retaining checked setup. Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Keep the builder success checks while using the encoded word directly in repeated setup and expectations. Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Reject opcode values that change instruction families and preserve architecture validation diagnostics. Forward builder reasons with stage context and cover the failure paths with focused regressions. Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Retain checked scalar encodings while adopting fallible topology setup. Adapt new upstream VM test kernels to check builder results before use. Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Return checked failures for invalid DBI fixture encodings and log probe inputs so failed setup stops before consumers use the output. Preserve malformed operand cases and cover probe bounds and unsupported targets. Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Forward global-encoder reasons through probe construction to the test assertion, and check the existing rejection messages. Clarify the RDNA4 signed offset boundary and the unwrapped words type. Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Preserve unsupported-instruction prefixes and route converted probe argument, slot-count, and scalar builder failures into fixture assertions. Forward the existing emitter to shared builders and check reasons in rejection tests. Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Pass the existing emitter to the shared shift builder so its failure reason follows the same path as the other probe instructions. Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
Base automatically changed from
users/IanWood1/rocjitsu-scalar-builder-errors
to
develop
November 3, 2026 23:05
✅ All Checks Passed — Ready for Review
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
Resolve integration conflicts with the merged scalar-builder changes. Retain current production builders and diagnostics while preserving checked results and failure propagation in the DBI test fixtures. Signed-off-by: Ian Wood <ianwood@u.northwestern.edu>
|
🎉 All checks passed! This PR is ready for review. |
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
There are no active review issues requiring resolution.
No open issues 🎉
What changed in this PR
This PR replaces exception-based encoding failures in rocjitsu’s DBI test helpers with explicit results, continuing the exception-reduction work in #10239 and the scalar-builder changes in #14536.
Changes:
- Return
ResultorFailureOrfrom encoding and probe helpers, with failure diagnostics. - Update simulator fixtures to check results before consuming encoded instructions or probe arguments.
- Add regression coverage for unsupported architectures, invalid operands and slot counts, and oversized probe sites.
| File | Description |
|---|---|
emulation/rocjitsu/tests/dbi/scalar_builders.h |
Return explicit failures from the read-first-lane builder. |
emulation/rocjitsu/tests/dbi/scalar_builders_test.cpp |
Check builder results and unsupported-architecture diagnostics. |
emulation/rocjitsu/tests/dbi/log_record_probe.h |
Propagate probe argument and body encoding failures. |
emulation/rocjitsu/tests/dbi/log_record_probe_test.cpp |
Cover invalid sites, slot counts, and architectures. |
emulation/rocjitsu/tests/dbi/global_memory_builders.h |
Replace load/store encoding exceptions with diagnostic results. |
emulation/rocjitsu/tests/dbi/dbi_spill_sim_test.cpp |
Return and check vector-add encoding results. |
emulation/rocjitsu/tests/dbi/dbi_sim_memory_test.cpp |
Update result checks and expand rejection coverage. |
emulation/rocjitsu/tests/dbi/dbi_log_record_sim_test.cpp |
Validate probe bodies and arguments before instrumentation. |
Review effort: Balanced
Contributor
rocjitsu post-commit fuzz passedThe 32-worker multiplexer campaigns for commit
|
Contributor
TheRock Submodule Bump ActivityNewest first
|
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.
Motivation
Make DBI test fixtures report encoding failures explicitly so rejected inputs cannot be consumed as successful instruction encodings.
Technical Details
Return Result or FailureOr from global-memory builders and log-record probe helpers, preserve their rejection diagnostics, and check results in simulator fixtures. Invalid offsets, register tuples, architectures, slot counts, and oversized probe sites have regression coverage. The RelWithDebInfo wrapper build, changed-file hooks, and 295 focused builder, probe, spill, and DBI tests passed. HSA simulation tests required running outside the sandbox after topology and memory-keeper permission failures. Full-suite, corpus, sanitizer, and hardware validation were not run.
Issue Tracking
Part of #10239. Builds on the merged scalar-builder changes in #14536.