[flang-commits] [flang] [flang][HLFIR] Enable inlining of allocatable array assignments (PR #197814)

via flang-commits flang-commits at lists.llvm.org
Tue May 19 02:25:29 PDT 2026


github-actions[bot] wrote:

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

* 4234 tests passed
* 248 tests skipped
* 2 tests failed

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

### Flang
<details>
<summary>Flang.Fir/basic-program.fir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
tco C:\_work\llvm-project\llvm-project\flang\test\Fir\basic-program.fir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\flang\test\Fir\basic-program.fir
# executed command: tco 'C:\_work\llvm-project\llvm-project\flang\test\Fir\basic-program.fir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\flang\test\Fir\basic-program.fir'
# note: command had no output on stdout or stderr
# RUN: at line 2
tco C:\_work\llvm-project\llvm-project\flang\test\Fir\basic-program.fir --mlir-pass-statistics --mlir-pass-statistics-display=pipeline 2>&1 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\flang\test\Fir\basic-program.fir --check-prefix=PASSES
# executed command: tco 'C:\_work\llvm-project\llvm-project\flang\test\Fir\basic-program.fir' --mlir-pass-statistics --mlir-pass-statistics-display=pipeline
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\flang\test\Fir\basic-program.fir' --check-prefix=PASSES
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\flang\test\Fir\basic-program.fir:24:17: error: PASSES-NEXT: is not on the line after the previous match
# | // PASSES-NEXT: 'func.func' Pipeline
# |                 ^
# | <stdin>:33:2: note: 'next' match was here
# |  'func.func' Pipeline
# |  ^
# | <stdin>:31:18: note: previous match ended here
# |  InlineElementals
# |                  ^
# | <stdin>:32:1: note: non-matching line after previous match is here
# |  SeparateAllocatableAssign
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\flang\test\Fir\basic-program.fir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         28: Pipeline Collection : ['fir.global', 'func.func', 'omp.declare_mapper', 'omp.declare_reduction', 'omp.private'] 
# |         29:  'fir.global' Pipeline 
# |         30:  SimplifyHLFIRIntrinsics 
# |         31:  InlineElementals 
# |         32:  SeparateAllocatableAssign 
# |         33:  'func.func' Pipeline 
# | next:24      !~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         34:  SimplifyHLFIRIntrinsics 
# |         35:  InlineElementals 
# |         36:  SeparateAllocatableAssign 
# |         37:  'omp.declare_mapper' Pipeline 
# |         38:  SimplifyHLFIRIntrinsics 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>Flang.Integration/OpenMP/parallel-private-reduction-worstcase.f90</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\flang.exe -fc1 -fopenmp -emit-llvm C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\parallel-private-reduction-worstcase.f90 -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\parallel-private-reduction-worstcase.f90
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\flang.exe' -fc1 -fopenmp -emit-llvm 'C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\parallel-private-reduction-worstcase.f90' -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\parallel-private-reduction-worstcase.f90'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\parallel-private-reduction-worstcase.f90:86:10: error: CHECK: expected string not found in input
# | ! CHECK: br i1 %{{.*}}, label %omp.private.copy13, label %omp.private.copy14
# |          ^
# | <stdin>:224:48: note: scanning from here
# | omp.private.copy12: ; preds = %omp.private.copy
# |                                                ^
# | <stdin>:230:2: note: possible intended match here
# |  br i1 %123, label %omp.private.copy13, label %omp.private.copy22
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\flang\test\Integration\OpenMP\parallel-private-reduction-worstcase.f90
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           219:  br label %omp.private.copy 
# |           220:  
# |           221: omp.private.copy: ; preds = %omp.region.cont6 
# |           222:  br label %omp.private.copy12 
# |           223:  
# |           224: omp.private.copy12: ; preds = %omp.private.copy 
# | check:86'0                                                    X error: no match found
# |           225:  call void @llvm.memcpy.p0.p0.i32(ptr align 8 %19, ptr align 8 %80, i32 48, i1 false) 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           226:  %120 = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %19, i32 0, i32 0 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           227:  %121 = load ptr, ptr %120, align 8 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           228:  %122 = ptrtoint ptr %121 to i64 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           229:  %123 = icmp ne i64 %122, 0 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           230:  br i1 %123, label %omp.private.copy13, label %omp.private.copy22 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:86'1      ?                                                                 possible intended match
# |           231:  
# | check:86'0     ~
# |           232: omp.private.copy22: ; preds = %omp.private.copy21, %omp.private.copy12 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           233:  br label %omp.region.cont11 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           234:  
# | check:86'0     ~
# |           235: omp.region.cont11: ; preds = %omp.private.copy22 
# | check:86'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/197814


More information about the flang-commits mailing list