reactantXLAExec: type an offset view as the tail of its buffer, slice it after the pipeline - #3290
Merged
Merged
Conversation
wsmoses
force-pushed
the
pb/offset-view-after-refine
branch
from
September 15, 2026 20:02
536bafc to
4cc68c1
Compare
wsmoses
force-pushed
the
pb/offset-view-after-refine
branch
from
September 15, 2026 20:45
4cc68c1 to
1db6547
Compare
wsmoses
force-pushed
the
pb/offset-view-after-refine
branch
from
September 15, 2026 21:22
1db6547 to
3c40e63
Compare
… it after the pipeline The slice of the base buffer was built before refinement in the buffer's byte element type, so a view whose kernel argument has another element type received a slice it could not use (BlockOperators: 'tensor<648xi8>' fed to a 'tensor<?xf64>' loop variable). A view is now typed as the tail of its base buffer from its offset on, so refinement converts its element type as for any other argument, and the kernel's identity check sees the refined view directly. The rewrite to the base buffer (uses read the slice at the offset, a written view's result is written back at the offset) happens after the pipeline, alongside the donation bookkeeping, so no fold is needed to recognize a read-only view. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016zErYp7upmqr4NHfhod9UD
wsmoses
force-pushed
the
pb/offset-view-after-refine
branch
from
September 15, 2026 21:23
3c40e63 to
b9de58b
Compare
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.
Follow-up to #3286. The slice of the base buffer was built before argument refinement, in the buffer's byte element type, so a view whose kernel argument has another element type received a slice it could not use. BlockOperators:
Two changes:
tensor<648xi8>for a view at byte 1440 of a 2088-byte buffer). The pass then converts its element type exactly as for any other argument, and after the pipeline the kernel's identity check (ret operand == argument) sees the refined view directly, so a read-only view needs no fold to be recognized.dynamic_update_slice. A read-only view is neither donated nor returned, as before.Everything the runtime touches is bytes; the single pass pipeline is unchanged.
🤖 Generated with Claude Code
https://claude.ai/code/session_016zErYp7upmqr4NHfhod9UD