[flang-commits] [flang] [flang][OpenMP] incorrect handling for local variable in OpenMP parallel workshare firstprivate(P) (PR #195616)

via flang-commits flang-commits at lists.llvm.org
Wed Jun 3 04:23:42 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 4288 tests passed
* 250 tests skipped
* 1 test failed

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

### Flang
<details>
<summary>Flang.Integration/OpenMP/workshare-firstprivate-pointer.f90</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 9
c:\_work\llvm-project\llvm-project\build\bin\flang.exe -fc1 -fintrinsic-modules-path=C:\_work\llvm-project\llvm-project\build\lib\clang\23\finclude\flang\x86_64-pc-windows-msvc -emit-hlfir -fopenmp -fopenmp-version=51 C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90 -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90 --check-prefix HLFIR
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\flang.exe' -fc1 '-fintrinsic-modules-path=C:\_work\llvm-project\llvm-project\build\lib\clang\23\finclude\flang\x86_64-pc-windows-msvc' -emit-hlfir -fopenmp -fopenmp-version=51 'C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90' -o -
# .---command stderr------------
# | warning: OpenMP support for version 51 in flang is still incomplete [-Wexperimental-option]
# `-----------------------------
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90' --check-prefix HLFIR
# note: command had no output on stdout or stderr
# RUN: at line 10
c:\_work\llvm-project\llvm-project\build\bin\flang.exe -fc1 -fintrinsic-modules-path=C:\_work\llvm-project\llvm-project\build\lib\clang\23\finclude\flang\x86_64-pc-windows-msvc -emit-fir -fopenmp -fopenmp-version=51 C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90 -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90 --check-prefix FIR
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\flang.exe' -fc1 '-fintrinsic-modules-path=C:\_work\llvm-project\llvm-project\build\lib\clang\23\finclude\flang\x86_64-pc-windows-msvc' -emit-fir -fopenmp -fopenmp-version=51 'C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90' -o -
# .---command stderr------------
# | warning: OpenMP support for version 51 in flang is still incomplete [-Wexperimental-option]
# `-----------------------------
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90' --check-prefix FIR
# note: command had no output on stdout or stderr
# RUN: at line 11
c:\_work\llvm-project\llvm-project\build\bin\flang.exe -fc1 -fintrinsic-modules-path=C:\_work\llvm-project\llvm-project\build\lib\clang\23\finclude\flang\x86_64-pc-windows-msvc -emit-llvm -fopenmp -fopenmp-version=51 C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90 -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90 --check-prefix LLVM
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\flang.exe' -fc1 '-fintrinsic-modules-path=C:\_work\llvm-project\llvm-project\build\lib\clang\23\finclude\flang\x86_64-pc-windows-msvc' -emit-llvm -fopenmp -fopenmp-version=51 'C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90' -o -
# .---command stderr------------
# | warning: OpenMP support for version 51 in flang is still incomplete [-Wexperimental-option]
# `-----------------------------
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90' --check-prefix LLVM
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90:106:9: error: LLVM: expected string not found in input
# | ! LLVM: getelementptr nusw nuw i8
# |         ^
# | <stdin>:202:32: note: scanning from here
# |  store i32 %23, ptr %7, align 4
# |                                ^
# | <stdin>:220:8: note: possible intended match here
# |  %40 = getelementptr nusw i8, ptr %39, i64 %37
# |        ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\workshare-firstprivate-pointer.f90
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            197:  call void @__kmpc_end_single(ptr @1, i32 %omp_global_thread_num) 
# |            198:  br label %omp_region.end 
# |            199:  
# |            200: omp.single.region4: ; preds = %omp.single.region3 
# |            201:  %23 = trunc i64 %20 to i32 
# |            202:  store i32 %23, ptr %7, align 4 
# | check:106'0                                    X error: no match found
# |            203:  %24 = load i32, ptr %7, align 4 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            204:  call void @llvm.memcpy.p0.p0.i32(ptr align 8 %2, ptr align 8 %6, i32 48, i1 false) 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            205:  %25 = sext i32 %24 to i64 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            206:  %26 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %2, i32 0, i32 7, i64 0, i32 0 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            207:  %27 = load i64, ptr %26, align 8 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |              .
# |              .
# |              .
# |            215:  %35 = load i64, ptr %34, align 8 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            216:  %36 = mul nsw i64 %33, %35 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            217:  %37 = add nsw i64 %36, 0 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            218:  %38 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %2, i32 0, i32 0 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            219:  %39 = load ptr, ptr %38, align 8 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            220:  %40 = getelementptr nusw i8, ptr %39, i64 %37 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:106'1            ?                                        possible intended match
# |            221:  store i32 %24, ptr %40, align 4 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            222:  %41 = add nsw i64 %20, 1 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            223:  %42 = sub i64 %21, 1 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~
# |            224:  br label %omp.single.region3 
# | check:106'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            225:  
# | check:106'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/195616


More information about the flang-commits mailing list