xref: /llvm-project/llvm/test/CodeGen/SPIRV/linkage/LinkOnceODRFun.ll (revision 3ae63430aae52b260ce7ea99e5d586c77963b94a)
1; RUN: llc -O0 -mtriple=spirv32-unknown-unknown --spirv-ext=+SPV_KHR_linkonce_odr %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV-EXT
2; TODO: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown --spirv-ext=+SPV_KHR_linkonce_odr %s -o - -filetype=obj | spirv-val %}
3
4; CHECK-SPIRV-EXT: Capability Linkage
5; CHECK-SPIRV-EXT: Extension "SPV_KHR_linkonce_odr"
6; CHECK-SPIRV-EXT-DAG: OpDecorate %[[#]] LinkageAttributes "square" LinkOnceODR
7
8define spir_kernel void @k() {
9entry:
10  %call = call spir_func i32 @square(i32 2)
11  ret void
12}
13
14define linkonce_odr dso_local spir_func i32 @square(i32 %in) {
15entry:
16  ret i32 %in
17}
18