<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/111567>111567</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang][openmp] Crash on simd reduction
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
psteinfeld
</td>
</tr>
</table>
<pre>
Here's a test:
```
$cat bug.f90
real function fastsum(x,y,n) result(r)
integer,intent(in) :: n
real,intent(in) :: x(n),y(n)
integer i
!$omp simd reduction(+:r)
do i=1,n
r = r + (x(i) + y(i))
end do
!$omp end simd
end function
$flang-new -fopenmp bug.f90
flang-new: /local/home/psteinfeld/up/llvm-project/llvm/include/llvm/ADT/STLExtra
s.h:865: llvm::detail::zippy<llvm::detail::zip_first, T, U, Args ...> llvm::zip_
equal(T&&, U&&, Args&& ...) [with T = llvm::SmallVector<const Fortran::semantics
::Symbol*>&; U = llvm::ArrayRef<mlir::Value>&; Args = {llvm::ArrayRef<mlir::Bloc
kArgument>&}]: Assertion `all_equal({range_size(t), range_size(u), range_size(ar
gs)...}) && "Iteratees do not have equal length"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and i
nclude the crash backtrace.
Stack dump:
0. Program arguments: /local/home/psteinfeld/up/install/bin/flang-new -fc1
-triple x86_64-unknown-linux-gnu -emit-obj -mrelocation-model pic -pic-level 2 -
pic-is-pie -target-cpu x86-64 -fopenmp -resource-dir /local/home/psteinfeld/up/i
nstall/lib/clang/20 -mframe-pointer=all -o /tmp/bug-939914.o -x f95-cpp-input bu
g.f90
#0 0x0000562b587ccf4b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/loc
al/home/psteinfeld/up/install/bin/flang-new+0x2251f4b)
#1 0x0000562b587ca754 SignalHandler(int) Signals.cpp:0:0
#2 0x00007fd4dc08b420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x144
20)
#3 0x00007fd4dbd1f00b raise (/lib/x86_64-linux-gnu/libc.so.6+0x4300b)
#4 0x00007fd4dbcfe859 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22859)
#5 0x00007fd4dbcfe729 (/lib/x86_64-linux-gnu/libc.so.6+0x22729)
#6 0x00007fd4dbd0ffd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#7 0x0000562b590bb6cf bindEntryBlockArgs(Fortran::lower::AbstractConverter&, ml
ir::omp::BlockArgOpenMPOpInterface, (anonymous namespace)::EntryBlockArgs const&
)::'lambda1'(llvm::ArrayRef<Fortran::semantics::Symbol const*>, llvm::ArrayRef<m
lir::Value>, llvm::ArrayRef<mlir::BlockArgument>)::operator()(llvm::ArrayRef<For
tran::semantics::Symbol const*>, llvm::ArrayRef<mlir::Value>, llvm::ArrayRef<mli
r::BlockArgument>) const (.isra.0) OpenMP.cpp:0:0
#8 0x0000562b590bba7c bindEntryBlockArgs(Fortran::lower::AbstractConverter&, ml
ir::omp::BlockArgOpenMPOpInterface, (anonymous namespace)::EntryBlockArgs const&
) OpenMP.cpp:0:0
#9 0x0000562b590bc271 genLoopVars(mlir::Operation*, Fortran::lower::AbstractCon
verter&, mlir::Location&, llvm::ArrayRef<Fortran::semantics::Symbol const*>, llv
m::ArrayRef<std::pair<mlir::omp::BlockArgOpenMPOpInterface, (anonymous namespace
)::EntryBlockArgs const&>>) (.isra.0) OpenMP.cpp:0:0
...
```
This code previously compiled without emitting any messages. It looks like the problem started happening with update #110267.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUV0lv4zgW_jX05UEGRUmWdPDBS4wuoAZVmKTrGlDSk8wORWpIKon71w8oyrGdqfSke_oyQGKIy_vevpBbKzqFuCbZlmT7BR_dUZv1YB0K1aJsFpVuTutf0CBhuQUODq0jyYbQPaEbsqLzX1iytOYOqrFbtuW8Z5BLaEdVO6EVtNw6O_aEFa-E7U6E7RRhJRi0o3SEFYawMtCBUA47NITt_Jfyp2K67LknG1DzPfAcPrz1Sljh14Fb-JzpZgYg5g3CYsJS3Q9gRd-AwWachCasIGxLks2VcADQaBAk2ceTDm-7AAZIsve_bAtBz0JMArEtnObFBQhVA40-019E8PtejHDiV2cbvpm6lVx1kcIXiFo9oOqHW8u_nXs7EHaQuvaGOhx1j4QdLj4m7DAO_oJ87qPB6N-wdvOSsINQtRwbvGxs9g-EHe4fvt69OsMDL7s8kmRTrDLPa7o3mb9Bx4UM37-LYTiRZPfh6WMrjHWE7eDB__zqfzams7BcLklydwXrL8-G-dfodSoeCFtNfxPd-dNTh9WE4Z2QbV-EO8LD5KQL4n3PpfyBtdOGJLtaK-vgoI0zXIULFnuunKjtbP5AdeorLQnbkOTO80m28Os74I0x_PRPbEmy66UwYfMHlyNeaCYlPRnJt_-Fcit1HSR42phu7H3EB5x8T7K9t_7GWjRTspEV5VI-nm1E8q3hqsNHK35HwgoX0gJuNsefbXITeHprlt6S-T5E9GRawtgXh4Y7ROuzQmkHR_6MMDEGiapzR8IYYTm0XEhslgHu-9e7zf0d2LHqhQPuoxcMDto4cBqOzg3Wa80OhB064Y5jtax1fwnEd_EqrB3REnYArppzVofgBXdEqA23R6h4_eQMr3EW4t7x-gmasR_eqhpdwnejO8N74LOR7WdzSCjruPRXKl-HDtdJWscQGETOiEEivBarx1UajepJ6RcVSaHG16hTI0TYCxfp6jeIeoOeqXdo1OsGJQyihmgQdSTxGSUwiAKq3xI2GgRC5Ljp0EX1MHom0Sq91IjIoNWjqTFqhPmcTrMpz5pJURF2qL1mhB0YhahvDe8xGrSvqYYkey4lRNqju95DVGMXlUlZxulSQ_QKbZlF9TBEQg2jbxhzfF2KFxCWUKCvlFKarViVFXldt2l1lVr2ZMPHdyOUm_z44B1LWHG5ZPjLo7bOIO_noiB8k_DBWwTdA7-_6FXCtvSVsSxu0-pS1AlL4ney8zxL4V50istfuGqkb2zFLErYtst68DFIp_83IDYD5W2TNjUtqpRReHw0aJ02-GjcWZPJKXNEvUVSOBjc0SBvllYv6SRxnKaBA6M3UifXzKombimtwHBh8RNcao-_mvDThNJbe6Q3yHWLRVYCr_Sn5L9CZqzIyhvk7D1yfvHuZzFzdou5urUDbdtm9ecwk6RtVjeY-XVElLSqVnULlVDNnXLm5Av7U-hXxU3jkfoF5-K_qayvXG6n1TMan2ghonsZuJybhA61LHQLD_ptQPWP79-GLz472ylFdl4drrQ69Xq0oHiPdphOykB7KxVMLdHzm6eP-RZhueR91fCYsPwm8a7a1weN9KqFnuFDI9190D8D75900Y8IbtrmbcOc5deDb1zaTL4t_0CBwPtvUeNPKTAP0R-qEVh6Zy6FNdzndwnB3z-vJ8X7MOR5_X8chn-oa_lO15rlMXSovmo9_ODGK3nxxrcpFKZ5f-MF-4T6gdM7I5zxvs5dez74-zIjcP1PMOuasDdwL8NVoP1PnrhN-I_8kdzN8fi5SPRD5M9ekA9H4UEbhMHgs9CjlSeodT_4sRH86K5HB346ckJ1wNUJerSWd2iXAF8cSK2fLEjxFGa-wehKYg_WceOwgSMfBlSedHoGjEPDHU79OqZslc9CLZp10pRJyRe4jnNWpLSkLF8c13WMad1kZc6LNktYnbYZzZq8ybCJeUKzhVgzytKY0iLOk5yulkUVM5rWnOWrVUkTSlKKPRdy6eNhqU23mMbWdRzH2SpfSF6htNNrnLE2TFjMP8zNepp2q7GzJKVSWGcvEE44OT3hA0W2J9k2THsk28Numnu1evesXYxGrv_6kD0L_Lxm_w4AAP__ezPjXA">