[flang-commits] [flang] Use alias analysis in lowering record assignments (PR #176483)

via flang-commits flang-commits at lists.llvm.org
Fri Jan 16 14:24:58 PST 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 3922 tests passed
* 201 tests skipped
* 2 tests failed

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

### Flang
<details>
<summary>Flang.Lower/OpenACC/acc-firstprivate-derived-user-assign.f90</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 5
bbc -fopenacc -emit-hlfir /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
# executed command: bbc -fopenacc -emit-hlfir /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90 -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
# note: command had no output on stdout or stderr
# RUN: at line 6
bbc -fopenacc -emit-fir /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90 --check-prefix=FIR-CHECK
# executed command: bbc -fopenacc -emit-fir /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90 -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90 --check-prefix=FIR-CHECK
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90:86:14: error: FIR-CHECK: expected string not found in input
# | ! FIR-CHECK: %[[FNAME:.*]] = fir.address_of(@_QQclX6f31027abca4b98fb0f38e84f7131aeb) : !fir.ref<!fir.char<1,103>>
# |              ^
# | <stdin>:16:113: note: scanning from here
# |  fir.store %1 to %0 : !fir.ref<!fir.box<!fir.type<_QMm_firstprivate_derived_user_defTpoint{x:f32,y:f32,z:f32}>>>
# |                                                                                                                 ^
# | <stdin>:17:2: note: possible intended match here
# |  %3 = fir.address_of(@_QQclX8962e81cb835f9a33ac5f3d354fc4520) : !fir.ref<!fir.char<1,123>>
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            11:  } copy { 
# |            12:  ^bb0(%arg0: !fir.ref<!fir.type<_QMm_firstprivate_derived_user_defTpoint{x:f32,y:f32,z:f32}>>, %arg1: !fir.ref<!fir.type<_QMm_firstprivate_derived_user_defTpoint{x:f32,y:f32,z:f32}>>): 
# |            13:  %0 = fir.alloca !fir.box<!fir.type<_QMm_firstprivate_derived_user_defTpoint{x:f32,y:f32,z:f32}>> 
# |            14:  %1 = fir.embox %arg1 : (!fir.ref<!fir.type<_QMm_firstprivate_derived_user_defTpoint{x:f32,y:f32,z:f32}>>) -> !fir.box<!fir.type<_QMm_firstprivate_derived_user_defTpoint{x:f32,y:f32,z:f32}>> 
# |            15:  %2 = fir.embox %arg0 : (!fir.ref<!fir.type<_QMm_firstprivate_derived_user_defTpoint{x:f32,y:f32,z:f32}>>) -> !fir.box<!fir.type<_QMm_firstprivate_derived_user_defTpoint{x:f32,y:f32,z:f32}>> 
# |            16:  fir.store %1 to %0 : !fir.ref<!fir.box<!fir.type<_QMm_firstprivate_derived_user_defTpoint{x:f32,y:f32,z:f32}>>> 
# | check:86'0                                                                                                                     X error: no match found
# |            17:  %3 = fir.address_of(@_QQclX8962e81cb835f9a33ac5f3d354fc4520) : !fir.ref<!fir.char<1,123>> 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:86'1      ?                                                                                          possible intended match
# |            18:  %c123 = arith.constant 123 : index 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            19:  %c29_i32 = arith.constant 29 : i32 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            20:  %4 = fir.convert %0 : (!fir.ref<!fir.box<!fir.type<_QMm_firstprivate_derived_user_defTpoint{x:f32,y:f32,z:f32}>>>) -> !fir.ref<!fir.box<none>> 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            21:  %5 = fir.convert %2 : (!fir.box<!fir.type<_QMm_firstprivate_derived_user_defTpoint{x:f32,y:f32,z:f32}>>) -> !fir.box<none> 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            22:  %6 = fir.convert %3 : (!fir.ref<!fir.char<1,123>>) -> !fir.ref<i8> 
# | check:86'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>Flang.Lower/OpenACC/acc-firstprivate-derived.f90</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 4
bbc -fopenacc -emit-hlfir /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived.f90
# executed command: bbc -fopenacc -emit-hlfir /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived.f90 -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived.f90
# note: command had no output on stdout or stderr
# RUN: at line 5
bbc -fopenacc -emit-fir /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived.f90 --check-prefix=FIR-CHECK
# executed command: bbc -fopenacc -emit-fir /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived.f90 -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived.f90 --check-prefix=FIR-CHECK
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived.f90:72:14: error: FIR-CHECK: expected string not found in input
# | ! FIR-CHECK: %[[FNAME:.*]] = fir.address_of(@_QQclX18ec5202ede4b1b7575b7a26c15b4046) : !fir.ref<!fir.char<1,91>>
# |              ^
# | <stdin>:16:104: note: scanning from here
# |  fir.store %1 to %0 : !fir.ref<!fir.box<!fir.type<_QMm_firstprivate_derivedTpoint{x:f32,y:f32,z:f32}>>>
# |                                                                                                        ^
# | <stdin>:17:2: note: possible intended match here
# |  %3 = fir.address_of(@_QQclX7f02e8d18540c5bf879a41f1a2caaa17) : !fir.ref<!fir.char<1,111>>
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenACC/acc-firstprivate-derived.f90
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            11:  } copy { 
# |            12:  ^bb0(%arg0: !fir.ref<!fir.type<_QMm_firstprivate_derivedTpoint{x:f32,y:f32,z:f32}>>, %arg1: !fir.ref<!fir.type<_QMm_firstprivate_derivedTpoint{x:f32,y:f32,z:f32}>>): 
# |            13:  %0 = fir.alloca !fir.box<!fir.type<_QMm_firstprivate_derivedTpoint{x:f32,y:f32,z:f32}>> 
# |            14:  %1 = fir.embox %arg1 : (!fir.ref<!fir.type<_QMm_firstprivate_derivedTpoint{x:f32,y:f32,z:f32}>>) -> !fir.box<!fir.type<_QMm_firstprivate_derivedTpoint{x:f32,y:f32,z:f32}>> 
# |            15:  %2 = fir.embox %arg0 : (!fir.ref<!fir.type<_QMm_firstprivate_derivedTpoint{x:f32,y:f32,z:f32}>>) -> !fir.box<!fir.type<_QMm_firstprivate_derivedTpoint{x:f32,y:f32,z:f32}>> 
# |            16:  fir.store %1 to %0 : !fir.ref<!fir.box<!fir.type<_QMm_firstprivate_derivedTpoint{x:f32,y:f32,z:f32}>>> 
# | check:72'0                                                                                                            X error: no match found
# |            17:  %3 = fir.address_of(@_QQclX7f02e8d18540c5bf879a41f1a2caaa17) : !fir.ref<!fir.char<1,111>> 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:72'1      ?                                                                                          possible intended match
# |            18:  %c111 = arith.constant 111 : index 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            19:  %c15_i32 = arith.constant 15 : i32 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            20:  %4 = fir.convert %0 : (!fir.ref<!fir.box<!fir.type<_QMm_firstprivate_derivedTpoint{x:f32,y:f32,z:f32}>>>) -> !fir.ref<!fir.box<none>> 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            21:  %5 = fir.convert %2 : (!fir.box<!fir.type<_QMm_firstprivate_derivedTpoint{x:f32,y:f32,z:f32}>>) -> !fir.box<none> 
# | check:72'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            22:  %6 = fir.convert %3 : (!fir.ref<!fir.char<1,111>>) -> !fir.ref<i8> 
# | check:72'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/176483


More information about the flang-commits mailing list