Skip to content

[SPIRV] All SPIR-V pointer types are i8* instead of the proper type #66107

@Keenuts

Description

@Keenuts

This is a known issue for the SPIR-V backend, creating this to track the status.

Before opaque pointers, the LLVM types were lowered directly to their SPIR-V equivalent.
Now that we have opaque pointers, we need to retrieve the SPIR-V type from the typed operations like load/store.
The current backend can retrieve some types, but for pointers, it falls back on i8*. This is probably because OpenCL can do pointer-casting.

For graphical SPIR-V, we are not allowed to do pointer casts, so we need to figure out the correct pointer type. LLVM-SPIRV translator already has such logic (type scavenger), so we'd need to reproduce this logic in this backend.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions