[clang] [llvm] [OpenMP] Fix convention of SPIRV outline functions (PR #192450)

via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 16 06:53:49 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 87422 tests passed
* 1426 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### Clang
<details>
<summary>Clang.OpenMP/metadirective_device_arch_codegen.cpp</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -fopenmp -x c++ -w -std=c++11 -triple x86_64-unknown-unknown -fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm-bc /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/OpenMP/Output/metadirective_device_arch_codegen.cpp.tmp-ppc-host.bc
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -fopenmp -x c++ -w -std=c++11 -triple x86_64-unknown-unknown -fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm-bc /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/OpenMP/Output/metadirective_device_arch_codegen.cpp.tmp-ppc-host.bc
# note: command had no output on stdout or stderr
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -fopenmp -x c++ -w -std=c++11 -triple amdgcn-amd-amdhsa -fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp -fopenmp-is-target-device -fopenmp-host-ir-file-path /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/OpenMP/Output/metadirective_device_arch_codegen.cpp.tmp-ppc-host.bc -target-cpu gfx906 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -fopenmp -x c++ -w -std=c++11 -triple amdgcn-amd-amdhsa -fopenmp-targets=amdgcn-amd-amdhsa -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp -fopenmp-is-target-device -fopenmp-host-ir-file-path /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/OpenMP/Output/metadirective_device_arch_codegen.cpp.tmp-ppc-host.bc -target-cpu gfx906 -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp
# note: command had no output on stdout or stderr
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -fopenmp -x c++ -w -std=c++11 -triple x86_64-unknown-unknown -fopenmp-targets=spirv64-intel -emit-llvm-bc /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/OpenMP/Output/metadirective_device_arch_codegen.cpp.tmp-ppc-spirv-host.bc
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -fopenmp -x c++ -w -std=c++11 -triple x86_64-unknown-unknown -fopenmp-targets=spirv64-intel -emit-llvm-bc /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp -o /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/OpenMP/Output/metadirective_device_arch_codegen.cpp.tmp-ppc-spirv-host.bc
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -fopenmp -x c++ -w -std=c++11 -triple spirv64-intel -fopenmp-targets=spirv64-intel -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp -fopenmp-is-target-device -fopenmp-host-ir-file-path /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/OpenMP/Output/metadirective_device_arch_codegen.cpp.tmp-ppc-spirv-host.bc  -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/clang -cc1 -internal-isystem /home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/clang/23/include -nostdsysteminc -fopenmp -x c++ -w -std=c++11 -triple spirv64-intel -fopenmp-targets=spirv64-intel -emit-llvm /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp -fopenmp-is-target-device -fopenmp-host-ir-file-path /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/test/OpenMP/Output/metadirective_device_arch_codegen.cpp.tmp-ppc-spirv-host.bc -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp:56:11: error: CHECK: expected string not found in input
# | // CHECK: define internal void @[[METADIRECTIVE]]_omp_outlined
# |           ^
# | <stdin>:72:10: note: scanning from here
# |  ret void
# |          ^
# | <stdin>:72:10: note: with "METADIRECTIVE" equal to "__omp_offloading_9c_6998ce__Z14metadirective1v_l32"
# |  ret void
# |          ^
# | <stdin>:81:1: note: possible intended match here
# | define internal spir_func void @__omp_offloading_9c_6998ce__Z14metadirective1v_l32_omp_outlined(ptr addrspace(4) noalias noundef %.global_tid., ptr addrspace(4) noalias noundef %.bound_tid., ptr addrspace(4) noundef align 4 dereferenceable(4096) %v3, ptr addrspace(4) noundef align 4 dereferenceable(4096) %v1, ptr addrspace(4) noundef align 4 dereferenceable(4096) %v2) addrspace(9) #1 {
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/test/OpenMP/metadirective_device_arch_codegen.cpp
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            67:  %5 = call spir_func addrspace(9) i32 @__kmpc_global_thread_num(ptr addrspace(4) addrspacecast (ptr addrspace(1) @1 to ptr addrspace(4))) 
# |            68:  store i32 0, ptr addrspace(4) %.zero.addr.ascast, align 4 
# |            69:  store i32 %5, ptr addrspace(4) %.threadid_temp..ascast, align 4 
# |            70:  call spir_func addrspace(9) void @__omp_offloading_9c_6998ce__Z14metadirective1v_l32_omp_outlined(ptr addrspace(4) %.threadid_temp..ascast, ptr addrspace(4) %.zero.addr.ascast, ptr addrspace(4) %0, ptr addrspace(4) %1, ptr addrspace(4) %2) #2 
# |            71:  call spir_func addrspace(9) void @__kmpc_target_deinit() 
# |            72:  ret void 
# | check:56'0              X error: no match found
# | check:56'1                with "METADIRECTIVE" equal to "__omp_offloading_9c_6998ce__Z14metadirective1v_l32"
# |            73:  
# | check:56'0     ~
# |            74: worker.exit: ; preds = %entry 
# | check:56'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            75:  ret void 
# | check:56'0     ~~~~~~~~~~
# |            76: } 
# | check:56'0     ~~
# |            77:  
# | check:56'0     ~
# |            78: declare spir_func i32 @__kmpc_target_init(ptr addrspace(4), ptr addrspace(4)) addrspace(9) 
# | check:56'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            79:  
# | check:56'0     ~
# |            80: ; Function Attrs: noinline norecurse nounwind optnone 
# | check:56'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            81: define internal spir_func void @__omp_offloading_9c_6998ce__Z14metadirective1v_l32_omp_outlined(ptr addrspace(4) noalias noundef %.global_tid., ptr addrspace(4) noalias noundef %.bound_tid., ptr addrspace(4) noundef align 4 dereferenceable(4096) %v3, ptr addrspace(4) noundef align 4 dereferenceable(4096) %v1, ptr addrspace(4) noundef align 4 dereferenceable(4096) %v2) addrspace(9) #1 { 
# | check:56'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:56'2     ?                                                                                                                                                                                                                                                                                                                                                                                                     possible intended match
# |            82: entry: 
# | check:56'0     ~~~~~~~
# |            83:  %.global_tid..addr = alloca ptr addrspace(4), align 8 
# | check:56'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            84:  %.bound_tid..addr = alloca ptr addrspace(4), align 8 
# | check:56'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            85:  %v3.addr = alloca ptr addrspace(4), align 8 
# | check:56'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            86:  %v1.addr = alloca ptr addrspace(4), align 8 
# | check:56'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/192450


More information about the cfe-commits mailing list