farzonl wrote:

@JonChesterfield even if you distinguish spirv64 from amdgpu in cmake clang 
doesn't make that distinction. A common pattern for spriv64 is to return null 
if its  not AMDGPU.

`clang/lib/CodeGen/CGBuiltin.cpp`
```
case llvm::Triple::spirv64:
    if (CGF->getTarget().getTriple().getOS() != llvm::Triple::OSType::AMDHSA)
      return nullptr;
    return CGF->EmitAMDGPUBuiltinExpr(BuiltinID, E);
```
`clang/lib/Basic/Targets.cpp`
```
case llvm::Triple::spirv64: {
    if (os != llvm::Triple::UnknownOS ||
        Triple.getEnvironment() != llvm::Triple::UnknownEnvironment) {
      if (os == llvm::Triple::OSType::AMDHSA)
        return std::make_unique<SPIRV64AMDGCNTargetInfo>(Triple, Opts);
      return nullptr;
    }
  }
```

https://github.com/llvm/llvm-project/pull/128585
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to