frasercrmck wrote:

> > That said, I don't believe it "works" in the way it's supposed to. It still 
> > grabs the host tools using `get_host_tool_path` in CMake, and custom 
> > commands to build with that. I take it we're supposed to use 
> > `CMAKE_C_COMPILER` as if we were a regular CMake project? Are we able to 
> > use `opt` and `llvm-link` and other LLVM tools?
> 
> Yes, the whole point is that we can use `add_library` instead of custom 
> commands. You can still find those tools and use them if necessary however. 
> For that you'd want to emit an object library and then add a custom command 
> that uses all the generated objects to link / opt them and finally output 
> them. OpenMP's GPU runtime used to do that but I hacked around it with LTO 
> stuff.

I'll need to look into that - maybe we can talk offline. Since `libclc` is used 
by downstream toolchains I feel it'll be hard to significantly change how it's 
built or presented to the host. We could support two methods of building but 
that would get sticky pretty quickly.

> Yeah, something like `LIBCLC_TARGETS_TO_BUILD` is likely what should be 
> implied by the `LLVM_DEFAULT_TARGET_TRIPLE` value that the runtimes build 
> passes in. (Also, does amdgcn-amd-amdhsa not work? That's the canonical one).

I'm not sure about how best to deal with `LIBCLC_TARGETS_TO_BUILD`. It could 
also pick up from `LLVM_TARGETS_TO_BUILD` but we have targets like `clspv` and 
`clspv64` which don't conveniently match any LLVM triple and are used by a 
downstream.

I'm not sure about how the AMD triples work, perhaps @arsenm can answer that. I 
know that downstream we're changing the final bytecode library to 
`amdgcn-amd-amdhsa` - perhaps for a similar reason.

> It's an external project, it uses the same handling. You can do `ninja -C 
> ./runtimes/runtimes-<triple>-bins` and it will behave the same.

Ah yes, thank you :+1:.


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

Reply via email to