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

    <tr>
        <th>Summary</th>
        <td>
            opt: ../lib/Transforms/Scalar/LoopFuse.cpp:376: bool (anonymous namespace)::FusionCandidate::reportInvalidCandidate(llvm::Statistic &) const: Assertion `L && Preheader && "Fusion candidate not initialized properly!"' failed.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          mikaelholmen
      </td>
    </tr>
</table>

<pre>
    llvm commit: 0c1f9b3f17bcb
Reproduce with: ```opt -passes="loop-fusion" bbi-58003.ll -o /dev/null```
Result:
```
opt: ../lib/Transforms/Scalar/LoopFuse.cpp:376: bool (anonymous namespace)::FusionCandidate::reportInvalidCandidate(llvm::Statistic &) const: Assertion `L && Preheader && "Fusion candidate not initialized properly!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: build-all/bin/opt -passes=loop-fusion /home/uabelho/Downloads/bbi-58003.ll -o /dev/null -debug -print-before-all
 #0 0x0000000002e5d213 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build-all/bin/opt+0x2e5d213)
 #1 0x0000000002e5af2e llvm::sys::RunSignalHandlers() (build-all/bin/opt+0x2e5af2e)
 #2 0x0000000002e5d596 SignalHandler(int) (build-all/bin/opt+0x2e5d596)
 #3 0x00007f63ab386630 __restore_rt (/lib64/libpthread.so.0+0xf630)
 #4 0x00007f63a8acd387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007f63a8acea78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x00007f63a8ac61a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
 #7 0x00007f63a8ac6252 (/lib64/libc.so.6+0x2f252)
 #8 0x0000000002d51e02 (build-all/bin/opt+0x2d51e02)
 #9 0x0000000002d4b5e5 (anonymous namespace)::LoopFuser::fuseLoops(llvm::Function&) (build-all/bin/opt+0x2d4b5e5)
#10 0x0000000002d4a293 llvm::LoopFusePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x2d4a293)
#11 0x00000000031cb01d llvm::detail::PassModel<llvm::Function, llvm::LoopFusePass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x31cb01d)
#12 0x000000000266aadc llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x266aadc)
#13 0x0000000000af15dd llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0xaf15dd)
#14 0x000000000266edbe llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x266edbe)
#15 0x0000000000af13bd llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0xaf13bd)
#16 0x0000000002669d8c llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x2669d8c)
#17 0x0000000000721919 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (build-all/bin/opt+0x721919)
#18 0x0000000000730e01 main (build-all/bin/opt+0x730e01)
#19 0x00007f63a8ab9555 __libc_start_main (/lib64/libc.so.6+0x22555)
#20 0x000000000071a580 _start (build-all/bin/opt+0x71a580)
Abort (core dumped)
```
[bbi-58003.ll.gz](https://github.com/llvm/llvm-project/files/9925865/bbi-58003.ll.gz)

This happens even with the fix for https://github.com/llvm/llvm-project/issues/50379

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWNtu2zgQ_Rr7hbChi6nLgx_cpMYWm2KDJthXgxJHNreUKJBU0vTrdyjZieg4cbptsRdsENiWOTxz5syhLLJQ_GEp5V1NSlXXwk7iFQnKsMqLuArToiwmweUkWH2CVivelUDuhd25oEkSDP-qtWTWMmPATOLLSRRJpdpZ1RmhGrwiRSFmNAuCeC4lmSkyidYc7vC16aR8RDmkMZ10HIbLo1HM5DLP5zhZigJfbzVrTKV0bfDipmSSafxwhQTWnYF52bY4IU4TN61QSmLyjDWqeahVZ0jDajAtK2ES5S5nvFr3rC9YwwVnFoYvNbRK2w_NHZOCP41FmZNtCLmxzApjRYkJEkRDMRvTk12hLtoiqBPsahhOyLWGHTAO-vAFCjXkJuUhAWmUJaIRVmDer8AJdqAFLR8mUYjhkyglFRMS-HxQ5_rq_ermPTFdgW0kjBTdlgzUiVVkZ21rHNlojf9bbGJXzLHlTkpXxvA2wxx_QGnxUhjTgZOVICHkUcqOA7E7IKVmZkcKVn62GsXbp0cJys-Ed3X72L4Ah_Jrrbaa1YTpbVdDY03fi05IPmPY_2hdCLTJ2nfRyELOLztVo97rjhUgdwo_Xar7RirGHb9X_UVmHJwQWJho7KwANAv0iXuGGBwHJPgSHP4ioDwKY_LUWvNghg_XDqGv8lb3nhn1X7P7jTJWA6v7hl6gYNb5AKNO1jqJ3gVf9smc-x7ZhEdsWBXBKTafuuZGbBsmf8H2SNCoRPaWhA7PSxgdl0_zhHjQCPnWanCuBx7vwdMqiVkRZ0mCcm82GozFPmzQmj1tt5qTxfDe2h3KyOdGzYMeF6cGHuhiDJqxksdZSjQTBp6jlQ4n6XHiBOM8IHoEBCzNCCvUKVpjoBTjPKDkCCgJWYJlsn7tb9wq3RTsDL2owkkeanqMGtHoDARGeBCZ11xOQwiiM10cgjyU3EdZFBTouTvp4R6sh0tcy-C-Mt6yWXdNafufieS8vYa8j8TcWgmOiLEoHy_dA4drbMR-nXbNywQuRlNXaP8HI8xH1rCtK-LixKT4_RuJO14ecW-Vx2FZBCEfZedg0TP72w6S_6g4yNMcPNZewd4I_uBgL-6AD4WB-UvlElfy3ybkXidPSP_ulSSM8XJcthPvtcz_PhX2RXoqxGMVAlaFlP8IO_089f5z3hw095qyOLIm8GL8S45N6CTcqkMiJ_aKsxZ_GE-XMUz4piL2U95sLEfRq4EeGysuvs1YB9IXb6z8RxnjsfKXbfGz9RzU8uRMjiyR8-wtd6tTIv7Di98X51WfemZKozAP81FupOgEuBYtSNEc76_w4Xv7CapTTnpWxS3uNcB-ZOWux1mdGr0ShWb64UNTqQ91K59H4W7xt862nV0LeQLku4ZfKGelNXtw345lf4o9vm-eDO8llN1WNM_isTcbi8SGq4Her6Lhr0X9DlpUAvQhzm2i3_5-xiSDBTyPZL5H4gCCkNRMNGeQ-kAPKfefnoucUorP5O6JeWMsw-fyA-zLz9MRzhmDRoFPL2S48SQD3BmCfegj1uqwyShxG9RvmmF0p_BPPSb03XiLO99-ndBLnPrNO_oKreg2zHke0SyhR1tnh_vIoH-93QlDdqxtoTEE7qDpz376I4BKfCG4k_6OUwUaxOk-2xSWYZKkCxrnMZ3yZczzOGdTK6yE5f9nPqfPfKadlsvvkD9LUzrdLaOKl2GR0bBixYJSiDKas4xn8QLSkMZsKt2Zi1miCTF_A_ekh3Bc6OVULKMgisIwiAMaZ5TOF2kZ0wKqICiSLOOLySIAXGZy7njMld5OdX_YOCu6rcFBiQKap0G8d4ltA9CnQ3zW2Z3Sy1p8Zu7gR9bQTPv8y57_n22LPNQ">