llvm icon indicating copy to clipboard operation
llvm copied to clipboard

[SYCL][Clang] Add ARM64_SPIRV64 and ARM64SPIR64 target info

Open hdelan opened this issue 7 months ago • 3 comments

Add TargetInfo for MSVC ARM64 host with SPIR64 or SPIRV64 device target.

hdelan avatar Jun 09 '25 09:06 hdelan

Hello frens @intel/llvm-reviewers-cuda

hdelan avatar Jun 09 '25 09:06 hdelan

I think it looks good, but I wonder if this could benefit upstream LLVM as well. Seems like at least some of it is independent of SYCL.

I'm not 100% sure there is the basic infrastructure yet for this. But I think it would be nice to stop creating these hardcoded subvariants (it'll probably not fly well upstream anyway), they are hacks and it doesn't scale. E.g. AMD has one TargetInfo and NV has 2 (for the 32 and 64 variants) and that enough to support all host...

We only need the SPIRTargetInfo, SPIR64TargetInfo, SPIRV32TargetInfo and SPIRV64TargetInfo variants and a proper implementation of setAuxTarget to copy the info from the host triple. NOTE: SPIRVTargetInfo is for the Shader variant, so not required for SYCL.

Naghasan avatar Jun 10 '25 15:06 Naghasan

So for now do you think it's OK to merge this patch and add a TODO for upstreaming? Looks like some refactoring is needed in order to get something that would be agreeable to upstream.

hdelan avatar Jun 12 '25 11:06 hdelan

Thanks @Naghasan ! Ping @intel/dpcpp-cfe-reviewers

hdelan avatar Jun 18 '25 08:06 hdelan

Ping @intel/llvm-gatekeepers this is good to go 🙏

hdelan avatar Jun 18 '25 11:06 hdelan