diff options
| author | Steven Perron <stevenperron@google.com> | 2025-10-31 10:57:19 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-31 10:57:19 -0400 |
| commit | 37e7ef0998b0b79fefd811a807d24d9d71033239 (patch) | |
| tree | d77e7bc4a83aa4a1656ec47566da7e34781b7832 /llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | |
| parent | 24557cce40b7d90c289b4a537ed95eaf6522f53c (diff) | |
| download | llvm-37e7ef0998b0b79fefd811a807d24d9d71033239.zip llvm-37e7ef0998b0b79fefd811a807d24d9d71033239.tar.gz llvm-37e7ef0998b0b79fefd811a807d24d9d71033239.tar.bz2 | |
[SPIRV] Expand spv_bitcast intrinsic during instruction selection (#164884)
The spv_bitcast intrinsic is currently replaced by an OpBitcast
during prelegalization. This will cause a problem when we need to
legalize the OpBitcast. The legalizer assumes that instruction
already lowered to a target specific opcode is legal.
We cannot lower it to a G_BITCAST because the bitcasts sometimes
the LLT type will be the same, causing an error in the verifier,
even if the SPIR-V types will be different.
This commit keeps the intrinsic around until instruction selection.
We can create rules to legalize a G_INTRINISIC* instruction, and
it does not create problem for the verifier.
No tests are updated because this change should be invisible to users.
Diffstat (limited to 'llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions
