[Fix][Metal] Bound symbolic stack allocations - #20236
Open
akaashrp wants to merge 3 commits into
Open
Conversation
tlopex
requested changes
Sep 1, 2026
Use analyzer-proven finite upper bounds when emitting fixed-size Metal arrays. Reject unbounded, nonpositive, and overflowing extents while allowing shapes such as min(dynamic_extent, constant_limit).
Exercise rejection of nonpositive allocation upper bounds and size_t element-count overflow in Metal code generation. Clarify that symbolic allocation sizing uses program-derived compile-time upper bounds rather than integer dtype limits.
Treat the analyzer positive-infinity sentinel independently from an integer dtype maximum. This allows finite uint64 extents whose dtype maximum is represented as LargeUIntImm while continuing to reject genuinely unbounded extents. Add bounded and unbounded uint64 codegen regressions alongside the existing narrower-integer coverage.
akaashrp
force-pushed
the
upstream/metal-symbolic-stack-allocations
branch
from
September 1, 2026 23:44
47bee57 to
c13fab9
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.
Use analyzer-proven finite upper bounds when emitting fixed-size Metal arrays. Reject unbounded, nonpositive, and overflowing extents while allowing shapes such as
min(dynamic_extent, constant_limit).