llvm-project
3a084241 - [SPIRV] Do not emit @llvm.used (#179498)

Commit
2 days ago
[SPIRV] Do not emit @llvm.used (#179498) Extending the work from https://github.com/llvm/llvm-project/pull/162678 which skips `llvm.compiler.used`, we also need to skip processing of `llvm.used`. The OpenMP frontend puts an `addrspace(2)` variable in `llvm_used`, but the `llvm.used` array type uses the generic AS `addrspace(4)` so there's a `addrspacecast` from `2` to `4` inside the initalizer for `llvm.used` which is illegal and errors in the backend. There is [discussion](https://github.com/llvm/llvm-project/pull/162678#issuecomment-3396735124) in the above linked PR that the handing should be the same for `llvm.used` and `llvm.compiler.used`, but `llvm.used` was not added to minimize the scope of the PR. This is required to use the OpenMP Device RTL with SPIR-V. Signed-off-by: Nick Sarnie <nick.sarnie@intel.com>
Author
Parents
Loading