<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/82106>82106</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Flang][OpenMP] Assertion `!ChunkSize && "schedule type does not support user-defined chunk sizes"' failed.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          k-arrows
      </td>
    </tr>
</table>

<pre>
    Reproducer (use `flang-new -fopenmp test.f90`):
```console
$ cat test.f90
integer :: i
!$omp do simd schedule (nonmonotonic,simd:guided,4)
do i = 0, 64
end do
end
```

Assertion failure:
```
/path_to_llvm_project/llvm-project/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:2954: OpenMPIRBuilder::InsertPointTy llvm::OpenMPIRBuilder::applyWorkshareLoop(llvm::DebugLoc, llvm::CanonicalLoopInfo *, llvm::OpenMPIRBuilder::InsertPointTy, bool, omp::ScheduleKind, llvm::Value *, bool, bool, bool, bool, llvm::omp::WorksharingLoopType): Assertion `!ChunkSize && "schedule type does not support user-defined chunk sizes"' failed.
```

Stack dump:
```console
 #0 0x0000555b5cf1a3fb llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
 #1 0x0000555b5cf1aa2f SignalHandler(int) Signals.cpp:0:0
 #2 0x00007fb35f997520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #3 0x00007fb35f9eba7c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #4 0x00007fb35f9eba7c __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #5 0x00007fb35f9eba7c pthread_kill ./nptl/pthread_kill.c:89:10
 #6 0x00007fb35f997476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #7 0x00007fb35f97d7f3 abort ./stdlib/abort.c:81:7
 #8 0x00007fb35f97d71b _nl_load_domain ./intl/loadmsgcat.c:1177:9
 #9 0x00007fb35f98ee96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#10 0x0000555b5f1f1b47 llvm::OpenMPIRBuilder::applyWorkshareLoop(llvm::DebugLoc, llvm::CanonicalLoopInfo*, llvm::IRBuilderBase::InsertPoint, bool, llvm::omp::ScheduleKind, llvm::Value*, bool, bool, bool, bool, llvm::omp::WorksharingLoopType)
#11 0x0000555b5e088f60 (anonymous namespace)::OpenMPDialectLLVMIRTranslationInterface::convertOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) const OpenMPToLLVMIRTranslation.cpp:0:0
#12 0x0000555b5e53faf2 mlir::LLVM::ModuleTranslation::convertOperation(mlir::Operation&, llvm::IRBuilderBase&, bool)
#13 0x0000555b5e53fee2 mlir::LLVM::ModuleTranslation::convertBlockImpl(mlir::Block&, bool, llvm::IRBuilderBase&, bool)
#14 0x0000555b5e5418b2 mlir::LLVM::ModuleTranslation::convertOneFunction(mlir::LLVM::LLVMFuncOp)
#15 0x0000555b5e5431ae mlir::LLVM::ModuleTranslation::convertFunctions()
#16 0x0000555b5e5443e2 mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef)
#17 0x0000555b5d3414aa Fortran::frontend::CodeGenAction::generateLLVMIR()
#18 0x0000555b5d342a2b Fortran::frontend::CodeGenAction::executeAction()
#19 0x0000555b5cf3e90e Fortran::frontend::FrontendAction::execute()
#20 0x0000555b5cf332b6 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&)
#21 0x0000555b5cf41718 Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*)
#22 0x0000555b5cbe5d4d fc1_main(llvm::ArrayRef<char const*>, char const*)
#23 0x0000555b5cbe4d36 main
#24 0x00007fb35f97ed90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#25 0x00007fb35f97ee40 call_init ./csu/../csu/libc-start.c:128:20
#26 0x00007fb35f97ee40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#27 0x0000555b5cbe4295 _start
flang-new: error: unable to execute command: Aborted
flang-new: error: flang frontend command failed due to signal (use -v to see invocation)
flang-new version 19.0.0git (https://github.com/llvm/llvm-project.git 7106389b25436538f0373484a8ab0428ea681410)
Target: x86_64-unknown-linux-gnu
Thread model: posix
```

The reproducer above is reduced from the following:
https://github.com/gcc-mirror/gcc/blob/master/gcc/testsuite/gfortran.dg/gomp/schedule-modifiers-1.f90
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8WN1u2zoSfhr6hrAhkfq98IWTrHeDbdGiDc5eGpQ4krmhSIGk0uQ8_YKUfyQ7x22KxQHaWKJmvvlmOBzNiFkrWgWwRukdSh8WbHB7bdbPS2aM_mEXleZv62_QG82HGgxGpBgsYJRFjWSqXSr4gZeN7kF1PXZg3aopI5RFiJSIblD0gKKNvw3_aq2slnBYJQmumTsrhVWhHLTeDt0gusHiKBsjkuiux1xjKzqObb0HPkjwhJRWnVbaaSVqRO79c0Q37SA4cETuE88lwHCNBUb0AUeI3OMsGVdBccz16fqC8-E2_N1YC8YJrXDDhBwMXLt45LvtmdvvnN5J-dLteqP_C7VDZOtvl_Nb_yMqRLZbo5XzDMj2Sw_q81d_8fnr47e7QUgOZlX3PaIbUqaJj80oc3o6RuxReYpftVDu6Q0H-LD-rjDre_n2H22e7Z4Z-KR1j0hx1nmAamg_aR_TCdI9Uz7QTHr5R9VojMhmLvJzZl6-0lr6X931o8T3w57-W_gYTAH_YHKAo52j3l_9ntVOyEcfhWo966e3HsYExectDUkb3-8H9fxd_OmtZYhkGBFyyjX31gPmGixW2mE79L02Dg8WzJJDIxRwXHt9bMWfYBEhiOQhVYCvbqTVd8fqZ8yHke2NI4MRoRGOXqMoitI0rdK6iRltqonL9s2OF1-NUC4gPxlWw2xjDfux09YZYF3w8h4L5U6nxFuJL60w0uDvolVM_ospLsEgUoxKh2V7yM4o_D8BkQNQ3lQ0bcoyT0nkz-wp6V-LbJclSynU8Lps1TA-qFdWrzJE7qLXhKQkmpGjc0yoWF7j3a53ewOM756FlDvR9RI6UI6FzV0hslW9k_5gTsRWNaKbxJ-mPDvjJ7-CrxwYxeRN5LxAdBNPopG-hzxVuwlXlBdw2WVwkzzDrQ37EZDGS0S2q3D3Zjn01kNrK14R2RomLARskiO6mcQgn0PnPG8oZpXP9wDl-Lh9YWlkF3uPzwjFFUJc4Z2SO6kZ33HdMTHui1DBXb_c2bZmI1wc557SZNvLOWABUGYfSyVaQpmdUsmn-ew0NXETV0n-91TNq6J5snLHLFyVzJ8UuJ-Uzv975TwFcFYoICqKJgvn27v71unBYsU6sH0oQeU0qg-CSajdp09_fH789mSYsjKc1Ud_shovH4RrrV7AuC89mPAYkaKTwpyQjqs3ozkWubOeNzpefdY-bBPzQbbEvu66wyv2SV-RvC52PhhkFoyUNqwhv2j1Q75mP_d13NLJRtFLbgC_w-1O6vr5sevljFtYnVn-ML9kzi-Ji-q3YqdgO6j6KnpnfX_lRb70M_vphX0aM_gN-0fjNhSmCX52gZ_QWfzdAQ8O8IeU-8Vs98L3vnl8dVfZ8d35w_sNmhmdfEqH0yROGMNbbTyPUa85dqNj_dIc_glqU589bkF5PnBiOjNQXBggjFQfNACvUA8ONsfdnOGX8w6FQhnBLfxjc_2OgQtoctFiUUqq7Db1rhcSzKOyjqlj4bpk_-vcyOwdRS56sSTO4-IWnYPhM6sXXbOfk7jywifZhMasuNUVpDzhuKnjnX-Rz96AG2PYm084el_vmRlrqYej__CpOV-bmqAXJhJOMxzgTyIXvVkOvIzwbuff8zvrmHG7mkm5OzUXtR2u259Dg_We0mqP6CYNfVt2tppeWoUkwkFHKOEuDY2XHn0Z0Md-hnhQcn5bkOw90Jkr73nxLjjN_as1PWPnl5EkZYpH1FHoNL37IQiM0b7G4EGxys85Gh-SCNe661hIEbzxrR7wW_phFR_z6qh8GIEwHwL0oT89fElYvoQ1ACwmiVpeWMEvYKxv5ONyFa2iVjivv3euD-MO2SKybYXbD9Wq1t1ksJ6M2yuvlcdRRouyImlCs5QWTURzmhQJK1gVJaQAlhVxEp8HjidmWnDeuUN7OahnpX-oSZs5yoVmHXeag_TSY4v910Pf0x6wOX9XYZV-ASwsNuAXuA9ih90ecKOl1D-Eak_D4Q2327pediJsR7hBZFtJ7ZvjjlkH51UH1tlB-OK3bZuxKqx46-9870e2x6F32WkuGgHGLuNVU0YLvqa8pCVbwDrOoyLO85TQxX5NCCHQsKYuoyIlWVRWvOJ1kyRRDSRndCHWJCJJROI8pklK6CridZ3wiJdpk1DWEJRE0DEhV37XVtq0C2HtAOuCxFG2kKwCacN3KkJCYvgBO31YmHXY5WpoLUoiKayzZwQnnAwft7ZBI31A6d3h40r68PdN_4vByPXH0tVPRt59X7BCBP4XAAD__0ey-Ww">