[clang] [OpenMP] Restore loop variable values after loop-tranformation constructs. (PR #208533)

LLVM Continuous Integration via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 29 07:58:29 PDT 2026


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `openmp-offload-amdgpu-runtime-2` running on `rocm-worker-hw-02` while building `clang` at step 3 "annotate".

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

<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-libc-runtime.py ...' (failure)
...
PASS: libomp :: tasking/task_reduction3.c (273 of 481)
PASS: libomp :: tasking/issue-69368.c (274 of 481)
PASS: libomp :: teams/teams-distr-on-host.c (275 of 481)
PASS: libomp :: tasking/omp_task_shared.c (276 of 481)
PASS: libomp :: transform/fuse/intfor.c (277 of 481)
PASS: libomp :: tasking/task_reduction2.c (278 of 481)
PASS: libomp :: threadprivate/omp_threadprivate_for.c (279 of 481)
PASS: libomp :: ompt/parallel/nested.c (280 of 481)
PASS: libomp :: misc_bugs/omp_foreign_thread_team_reuse.c (281 of 481)
PASS: libomp :: transform/fuse/foreach.cpp (282 of 481)
FAIL: libomp :: transform/fuse/iterfor.cpp (283 of 481)
******************** TEST 'libomp :: transform/fuse/iterfor.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/./bin/clang++ -fopenmp   -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test -L /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src  -fno-omit-frame-pointer -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/ompt -std=c++20 /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/transform/fuse/iterfor.cpp -o /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/fuse/Output/iterfor.cpp.tmp -lm -latomic && /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/fuse/Output/iterfor.cpp.tmp | tee /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/fuse/Output/iterfor.cpp.tmp.out | /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/./bin/FileCheck /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/transform/fuse/iterfor.cpp --match-full-lines
# executed command: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/./bin/clang++ -fopenmp -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test -L /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -fno-omit-frame-pointer -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/ompt -std=c++20 /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/transform/fuse/iterfor.cpp -o /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/fuse/Output/iterfor.cpp.tmp -lm -latomic
# note: command had no output on stdout or stderr
# executed command: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/fuse/Output/iterfor.cpp.tmp
# note: command had no output on stdout or stderr
# executed command: tee /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/fuse/Output/iterfor.cpp.tmp.out
# note: command had no output on stdout or stderr
# executed command: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/./bin/FileCheck /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/transform/fuse/iterfor.cpp --match-full-lines
# .---command stderr------------
# | /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/transform/fuse/iterfor.cpp:186:16: error: CHECK-NEXT: is not on the line after the previous match
# | // CHECK-NEXT: [D] iterator dtor
# |                ^
# | <stdin>:48:1: note: 'next' match was here
# | [D] iterator dtor
# | ^
# | <stdin>:41:18: note: previous match ended here
# | [D] iterator dtor
# |                  ^
# | <stdin>:42:1: note: non-matching line after previous match is here
# | [C] iterator distance: 3
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/transform/fuse/iterfor.cpp
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
Step 8 (run check-openmp) failure: run check-openmp (failure)
...
PASS: libomp :: tasking/task_reduction3.c (273 of 481)
PASS: libomp :: tasking/issue-69368.c (274 of 481)
PASS: libomp :: teams/teams-distr-on-host.c (275 of 481)
PASS: libomp :: tasking/omp_task_shared.c (276 of 481)
PASS: libomp :: transform/fuse/intfor.c (277 of 481)
PASS: libomp :: tasking/task_reduction2.c (278 of 481)
PASS: libomp :: threadprivate/omp_threadprivate_for.c (279 of 481)
PASS: libomp :: ompt/parallel/nested.c (280 of 481)
PASS: libomp :: misc_bugs/omp_foreign_thread_team_reuse.c (281 of 481)
PASS: libomp :: transform/fuse/foreach.cpp (282 of 481)
FAIL: libomp :: transform/fuse/iterfor.cpp (283 of 481)
******************** TEST 'libomp :: transform/fuse/iterfor.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/./bin/clang++ -fopenmp   -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test -L /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src  -fno-omit-frame-pointer -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/ompt -std=c++20 /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/transform/fuse/iterfor.cpp -o /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/fuse/Output/iterfor.cpp.tmp -lm -latomic && /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/fuse/Output/iterfor.cpp.tmp | tee /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/fuse/Output/iterfor.cpp.tmp.out | /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/./bin/FileCheck /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/transform/fuse/iterfor.cpp --match-full-lines
# executed command: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/./bin/clang++ -fopenmp -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test -L /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/src -fno-omit-frame-pointer -I /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/ompt -std=c++20 /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/transform/fuse/iterfor.cpp -o /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/fuse/Output/iterfor.cpp.tmp -lm -latomic
# note: command had no output on stdout or stderr
# executed command: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/fuse/Output/iterfor.cpp.tmp
# note: command had no output on stdout or stderr
# executed command: tee /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/runtimes/runtimes-bins/openmp/runtime/test/transform/fuse/Output/iterfor.cpp.tmp.out
# note: command had no output on stdout or stderr
# executed command: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/build/llvm.build/./bin/FileCheck /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/transform/fuse/iterfor.cpp --match-full-lines
# .---command stderr------------
# | /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/transform/fuse/iterfor.cpp:186:16: error: CHECK-NEXT: is not on the line after the previous match
# | // CHECK-NEXT: [D] iterator dtor
# |                ^
# | <stdin>:48:1: note: 'next' match was here
# | [D] iterator dtor
# | ^
# | <stdin>:41:18: note: previous match ended here
# | [D] iterator dtor
# |                  ^
# | <stdin>:42:1: note: non-matching line after previous match is here
# | [C] iterator distance: 3
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/botworker/builds/openmp-offload-amdgpu-runtime-2/llvm.src/openmp/runtime/test/transform/fuse/iterfor.cpp
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .

```

</details>

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


More information about the cfe-commits mailing list