jhuber6 wrote:

> Sorry for the delayed response - I have been on a long vacation.
> 
> I’m not familiar with the new offload driver internals to give pointers on 
> what needs to be changed and where for retaining the custom plugin and linker 
> behavior needed by the [chipStar](https://github.com/CHIP-SPV/chipStar) nor I 
> can devote time to look at it currently.
> 
> Perhaps, the HIPSPV toolchain could default to the old offload driver in the 
> meantime until I or someone else takes a look at it.
> 
> cc @pjaaskel and @pvelesko for awareness.

The steps are roughly outlined in 
https://clang.llvm.org/docs/OffloadingDesign.html, though it hasn't been 
updated for the other targets. Generally it means you'll need to do some more 
plumbing. The problem with HIPSPV here is that it still uses the `OFK_HIP` 
type, which means it's not easy to determine whether or not to use the new 
driver from the compiler stages, and even so I'd *really* prefer to be able to 
delete all the old handling soon.

More or less, the main change is that all offloading targets go through the 
same function. For non-RDC compilation it's not too different, but for RDC 
compilation everything gets put into a fat binary using a custom binary format 
inside LLVM. This then gets passed to the linker wrapper, whose job is to 
extract those objects and generate a linker job. So, what you need is for 
`clang --target=<whatever your triple> a b c` to work.

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

Reply via email to