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.