[all-commits] [llvm/llvm-project] 37e7ef: [SPIRV] Expand spv_bitcast intrinsic during instru...

Steven Perron via All-commits all-commits at lists.llvm.org
Fri Oct 31 07:57:41 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 37e7ef0998b0b79fefd811a807d24d9d71033239
      https://github.com/llvm/llvm-project/commit/37e7ef0998b0b79fefd811a807d24d9d71033239
  Author: Steven Perron <stevenperron at google.com>
  Date:   2025-10-31 (Fri, 31 Oct 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp

  Log Message:
  -----------
  [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.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list