Skip to content

Metal: narrow address spaces through integer-pointer delegation#820

Merged
maleadt merged 1 commit into
mainfrom
tb/fix
Jun 2, 2026
Merged

Metal: narrow address spaces through integer-pointer delegation#820
maleadt merged 1 commit into
mainfrom
tb/fix

Conversation

@maleadt
Copy link
Copy Markdown
Member

@maleadt maleadt commented Jun 2, 2026

The typed-pointer (Julia <= 1.11) integer-parameter narrowing only handled a leaf that dereferences the integer; a parameter forwarded on to a further call (e.g. report_exception_name -> report_exception) was skipped, so the fixed point never relayed through it and the deduced-name read stayed a generic-space load that the LLVM-16 Metal bitcode downgrade miscompiles. Recognize a forwarded integer as a pointer image too, and gate the whole Case B on supports_typed_pointers() so it drops out at the 1.12 floor.

Continues #819 and #816.

The typed-pointer (Julia <= 1.11) integer-parameter narrowing only handled
a leaf that dereferences the integer; a parameter forwarded on to a further
call (e.g. report_exception_name -> report_exception) was skipped, so the
fixed point never relayed through it and the deduced-name read stayed a
generic-space load that the LLVM-16 Metal bitcode downgrade miscompiles.
Recognize a forwarded integer as a pointer image too, and gate the whole
Case B on supports_typed_pointers() so it drops out at the 1.12 floor.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@maleadt maleadt merged commit 8c79865 into main Jun 2, 2026
34 of 37 checks passed
@maleadt maleadt deleted the tb/fix branch June 2, 2026 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant