aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
diff options
context:
space:
mode:
authorSteven Perron <stevenperron@google.com>2025-10-31 10:57:19 -0400
committerGitHub <noreply@github.com>2025-10-31 10:57:19 -0400
commit37e7ef0998b0b79fefd811a807d24d9d71033239 (patch)
treed77e7bc4a83aa4a1656ec47566da7e34781b7832 /llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
parent24557cce40b7d90c289b4a537ed95eaf6522f53c (diff)
downloadllvm-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