[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: Windows-->
# :window: Windows x64 Test Results
* 53662 tests passed
* 1115 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
c:\_work\llvm-project\llvm-project\build\bin\clang.exe -cc1 -internal-isystem C:\_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 C:\_work\llvm-project\llvm-project\clang\test\OpenMP\metadirective_device_arch_codegen.cpp -o C:\_work\llvm-project\llvm-project\build\tools\clang\test\OpenMP\Output\metadirective_device_arch_codegen.cpp.tmp-ppc-host.bc
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\clang.exe' -cc1 -internal-isystem 'C:\_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 'C:\_work\llvm-project\llvm-project\clang\test\OpenMP\metadirective_device_arch_codegen.cpp' -o 'C:\_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
c:\_work\llvm-project\llvm-project\build\bin\clang.exe -cc1 -internal-isystem C:\_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 C:\_work\llvm-project\llvm-project\clang\test\OpenMP\metadirective_device_arch_codegen.cpp -fopenmp-is-target-device -fopenmp-host-ir-file-path C:\_work\llvm-project\llvm-project\build\tools\clang\test\OpenMP\Output\metadirective_device_arch_codegen.cpp.tmp-ppc-host.bc -target-cpu gfx906 -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --allow-unused-prefixes C:\_work\llvm-project\llvm-project\clang\test\OpenMP\metadirective_device_arch_codegen.cpp
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\clang.exe' -cc1 -internal-isystem 'C:\_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 'C:\_work\llvm-project\llvm-project\clang\test\OpenMP\metadirective_device_arch_codegen.cpp' -fopenmp-is-target-device -fopenmp-host-ir-file-path 'C:\_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: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --allow-unused-prefixes 'C:\_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
c:\_work\llvm-project\llvm-project\build\bin\clang.exe -cc1 -internal-isystem C:\_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 C:\_work\llvm-project\llvm-project\clang\test\OpenMP\metadirective_device_arch_codegen.cpp -o C:\_work\llvm-project\llvm-project\build\tools\clang\test\OpenMP\Output\metadirective_device_arch_codegen.cpp.tmp-ppc-spirv-host.bc
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\clang.exe' -cc1 -internal-isystem 'C:\_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 'C:\_work\llvm-project\llvm-project\clang\test\OpenMP\metadirective_device_arch_codegen.cpp' -o 'C:\_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
c:\_work\llvm-project\llvm-project\build\bin\clang.exe -cc1 -internal-isystem C:\_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 C:\_work\llvm-project\llvm-project\clang\test\OpenMP\metadirective_device_arch_codegen.cpp -fopenmp-is-target-device -fopenmp-host-ir-file-path C:\_work\llvm-project\llvm-project\build\tools\clang\test\OpenMP\Output\metadirective_device_arch_codegen.cpp.tmp-ppc-spirv-host.bc -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --allow-unused-prefixes C:\_work\llvm-project\llvm-project\clang\test\OpenMP\metadirective_device_arch_codegen.cpp
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\clang.exe' -cc1 -internal-isystem 'C:\_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 'C:\_work\llvm-project\llvm-project\clang\test\OpenMP\metadirective_device_arch_codegen.cpp' -fopenmp-is-target-device -fopenmp-host-ir-file-path 'C:\_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: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --allow-unused-prefixes 'C:\_work\llvm-project\llvm-project\clang\test\OpenMP\metadirective_device_arch_codegen.cpp'
# .---command stderr------------
# | C:\_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_7e4838ac_e069fe57__Z14metadirective1v_l32"
# | ret void
# | ^
# | <stdin>:81:1: note: possible intended match here
# | define internal spir_func void @__omp_offloading_7e4838ac_e069fe57__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: C:\_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_7e4838ac_e069fe57__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_7e4838ac_e069fe57__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_7e4838ac_e069fe57__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