Currently, when --offload-arch=amdgcnspirv
is specified, the clang driver first generates LLVM IR (bitcode), and then translates to SPIRV via the llvm-spirv
translator
However, clang also supports generating SPIRV directly via the SPIRV backend.
We should add a clang option (off by default for now) and associated implementation to enable switching from the llvm-spirv
translator to the SPIRV backend when users specify --offload-arch=amdgcnspirv
.
This option and implementation should land in upstream llvm-project.