[clang] [llvm] [openmp] [Clang][OpenMP] Implement Loop splitting `#pragma omp split` directive (PR #183261)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 2 22:22:47 PDT 2026


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `openmp-offload-amdgpu-clang-flang` running on `rocm-worker-hw-01` while building `clang,llvm,openmp` at step 3 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/67/builds/1523

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 3 (annotate) failure: 'python ../llvm.src/offload/ci/openmp-offload-amdgpu-clang-flang.py ...' (failure)
...
PASS: libomp :: tasking/task_reduction1.c (340 of 546)
PASS: libomp :: transform/fuse/iterfor.cpp (341 of 546)
PASS: libomp :: tasking/task_reduction4.c (342 of 546)
PASS: libomp :: transform/interchange/intfor.c (343 of 546)
PASS: libomp :: transform/interchange/foreach.cpp (344 of 546)
PASS: libomp :: transform/fuse/do.f90 (345 of 546)
PASS: libomp :: transform/reverse/intfor.c (346 of 546)
PASS: libomp :: tasking/omp_task_red_taskloop.c (347 of 546)
PASS: libomp :: tasking/omp_taskloop_taskwait.c (348 of 546)
PASS: libomp :: transform/fuse/do-looprange.f90 (349 of 546)
FAIL: libomp :: transform/split/fill_first.c (350 of 546)
******************** TEST 'libomp :: transform/split/fill_first.c' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/./bin/clang -fopenmp   -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test -L /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src  -fno-omit-frame-pointer -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/ompt /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/fill_first.c -o /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/fill_first.c.tmp -lm -latomic && /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/fill_first.c.tmp | tee /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/fill_first.c.tmp.out | /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/./bin/FileCheck /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/fill_first.c --match-full-lines
# executed command: /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/./bin/clang -fopenmp -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test -L /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -fno-omit-frame-pointer -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/ompt /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/fill_first.c -o /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/fill_first.c.tmp -lm -latomic
# .---command stderr------------
# | /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/fill_first.c:8:19: error: unexpected OpenMP clause 'counts' in directive '#pragma omp split'
# |     8 | #pragma omp split counts(omp_fill, 2)
# |       |                   ^
# | 1 error generated.
# `-----------------------------
# error: command failed with exit status: 1

--

********************
PASS: libomp :: transform/interchange/iterfor.cpp (351 of 546)
FAIL: libomp :: transform/split/intfor_negstart.c (352 of 546)
******************** TEST 'libomp :: transform/split/intfor_negstart.c' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/./bin/clang -fopenmp   -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test -L /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src  -fno-omit-frame-pointer -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/ompt /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/intfor_negstart.c -o /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/intfor_negstart.c.tmp -lm -latomic && /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/intfor_negstart.c.tmp | tee /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/intfor_negstart.c.tmp.out | /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/./bin/FileCheck /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/intfor_negstart.c --match-full-lines
# executed command: /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/./bin/clang -fopenmp -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test -L /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -fno-omit-frame-pointer -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/ompt /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/intfor_negstart.c -o /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/intfor_negstart.c.tmp -lm -latomic
# .---command stderr------------
# | /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/intfor_negstart.c:9:19: error: unexpected OpenMP clause 'counts' in directive '#pragma omp split'
# |     9 | #pragma omp split counts(1, omp_fill, 1)
# |       |                   ^
# | 1 error generated.
# `-----------------------------
# error: command failed with exit status: 1

--
Step 8 (test-openmp) failure: test-openmp (failure)
...
PASS: libomp :: tasking/task_reduction1.c (340 of 546)
PASS: libomp :: transform/fuse/iterfor.cpp (341 of 546)
PASS: libomp :: tasking/task_reduction4.c (342 of 546)
PASS: libomp :: transform/interchange/intfor.c (343 of 546)
PASS: libomp :: transform/interchange/foreach.cpp (344 of 546)
PASS: libomp :: transform/fuse/do.f90 (345 of 546)
PASS: libomp :: transform/reverse/intfor.c (346 of 546)
PASS: libomp :: tasking/omp_task_red_taskloop.c (347 of 546)
PASS: libomp :: tasking/omp_taskloop_taskwait.c (348 of 546)
PASS: libomp :: transform/fuse/do-looprange.f90 (349 of 546)
FAIL: libomp :: transform/split/fill_first.c (350 of 546)
******************** TEST 'libomp :: transform/split/fill_first.c' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/./bin/clang -fopenmp   -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test -L /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src  -fno-omit-frame-pointer -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/ompt /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/fill_first.c -o /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/fill_first.c.tmp -lm -latomic && /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/fill_first.c.tmp | tee /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/fill_first.c.tmp.out | /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/./bin/FileCheck /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/fill_first.c --match-full-lines
# executed command: /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/./bin/clang -fopenmp -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test -L /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -fno-omit-frame-pointer -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/ompt /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/fill_first.c -o /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/fill_first.c.tmp -lm -latomic
# .---command stderr------------
# | /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/fill_first.c:8:19: error: unexpected OpenMP clause 'counts' in directive '#pragma omp split'
# |     8 | #pragma omp split counts(omp_fill, 2)
# |       |                   ^
# | 1 error generated.
# `-----------------------------
# error: command failed with exit status: 1

--

********************
PASS: libomp :: transform/interchange/iterfor.cpp (351 of 546)
FAIL: libomp :: transform/split/intfor_negstart.c (352 of 546)
******************** TEST 'libomp :: transform/split/intfor_negstart.c' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/./bin/clang -fopenmp   -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test -L /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src  -fno-omit-frame-pointer -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/ompt /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/intfor_negstart.c -o /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/intfor_negstart.c.tmp -lm -latomic && /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/intfor_negstart.c.tmp | tee /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/intfor_negstart.c.tmp.out | /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/./bin/FileCheck /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/intfor_negstart.c --match-full-lines
# executed command: /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/./bin/clang -fopenmp -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test -L /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -fno-omit-frame-pointer -I /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/ompt /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/intfor_negstart.c -o /home/botworker/builds/openmp-offload-amdgpu-clang-flang/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/split/Output/intfor_negstart.c.tmp -lm -latomic
# .---command stderr------------
# | /home/botworker/builds/openmp-offload-amdgpu-clang-flang/llvm.src/openmp/runtime/test/transform/split/intfor_negstart.c:9:19: error: unexpected OpenMP clause 'counts' in directive '#pragma omp split'
# |     9 | #pragma omp split counts(1, omp_fill, 1)
# |       |                   ^
# | 1 error generated.
# `-----------------------------
# error: command failed with exit status: 1

--

```

</details>

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


More information about the llvm-commits mailing list