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

    <tr>
        <th>Summary</th>
        <td>
            opt: ../lib/Transforms/Scalar/LoopFuse.cpp:918: bool (anonymous namespace)::LoopFuser::fuseCandidates(): Assertion `FC1->GuardBranch && "Expecting valid FC1 guard branch"' failed. with loop-fusion
        </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: e08ca4bb1df
Reproduce with: ```opt -passes=loop-fusion bbi-75993.ll -o /dev/null```
Result:
```
opt: ../lib/Transforms/Scalar/LoopFuse.cpp:918: bool (anonymous namespace)::LoopFuser::fuseCandidates(): Assertion `FC1->GuardBranch && "Expecting valid FC1 guard branch"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: ../../main-github/llvm/build-all/bin/opt -passes=loop-fusion bbi-75993.ll -o /dev/null
 #0 0x0000000002e86fc3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2e86fc3)
 #1 0x0000000002e84cde llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2e84cde)
 #2 0x0000000002e87346 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007fb0d038e630 __restore_rt sigaction.c:0:0
 #4 0x00007fb0cdad5387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007fb0cdad6a78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x00007fb0cdace1a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
 #7 0x00007fb0cdace252 (/lib64/libc.so.6+0x2f252)
 #8 0x0000000002d62fc5 (anonymous namespace)::LoopFuser::fuseCandidates() LoopFuse.cpp:0:0
 #9 0x0000000002d5da81 (anonymous namespace)::LoopFuser::fuseLoops(llvm::Function&) LoopFuse.cpp:0:0
#10 0x0000000002d5c53d llvm::LoopFusePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x2d5c53d)
#11 0x00000000031f851d llvm::detail::PassModel<llvm::Function, llvm::LoopFusePass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) crtstuff.c:0:0
#12 0x00000000026921cc llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x26921cc)
#13 0x0000000000afdb8d 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>&) crtstuff.c:0:0
#14 0x00000000026964ae llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x26964ae)
#15 0x0000000000afd96d llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) crtstuff.c:0:0
#16 0x000000000269147c llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x269147c)
#17 0x0000000000723479 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) (../../main-github/llvm/build-all/bin/opt+0x723479)
#18 0x0000000000732704 main (../../main-github/llvm/build-all/bin/opt+0x732704)
#19 0x00007fb0cdac1555 __libc_start_main (/lib64/libc.so.6+0x22555)
#20 0x000000000071c0e0 _start (../../main-github/llvm/build-all/bin/opt+0x71c0e0)
Abort (core dumped)
```
[bbi-75993.ll.gz](https://github.com/llvm/llvm-project/files/10021090/bbi-75993.ll.gz)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzdWFlv2zgQ_jXyC2FB9_HgBzeJd4tNsUET7KtBkZTMLXWApNJmf_0OKduRFCdt4hS7aKDonOObmW9okkVLH1ZC3NeItHXNtROuEfMygqOi8GnpeJeOt_7MOtnSnjD0leudEXESbzjaTqNlh5ViygkvRdt2y7JXvG1QUfBlGud56AqBli1ygg1l93BueiGO-gcHqhfG9_A4-wo-jE_XBWXBCzjfSdyospW1godbggWWcHMN3je9Yi7pOlDI_cyoFW0rwHmGm7Z5qNteoQbXTHWYMCfIjc9wfdCUwyNEwC5wQznFGuIKskEQrSFMqU1wgG1z4S-d8Oq3Hkv6AfCQHXhJ4IBLcPWtY0TzpkL3WHCKQBhVRhIVVhREnCBFJeaCUXcI8-b6an17hVRfQB0QRkVfIcm6VmqkW7TTulMGXrCBo4I69IULNTM5gfLtL0so1N_gGR65Ur0Bv0EQCeINET1lSO8YIhKrHSow-aIlZGHv_lbDC0T7ujvWwYNP-Y1sK4lrhGXV16zR6lgLe6oxb5YDnEcoRc8FXWKoM9zzBs5v5YnFAe9CD3nfvMNfwLKkJCGy7mzJ1IMabm4kb7SN5U7aEmePQhJ_3bZKS4ZrW6oLSAukKjf0eEtETvDB-7bHYihyBOvPwEYEUn8C7Oe-ueVVg8XvUCPB5J5r5-Ix7iZ4ghmeNIwSNPEMHve5GF6rfRN59v9oKNwbSsvCo16YsQQKs91KpnQr2RaoqniFiekRlzxVj0bqhGIah1mKJOaKIRu5ae8kGq7EVa2b2JDCBOQmAcUzQwlOM4QL0ysvGkpBbmIomRoizMcJBIRtp29Nf24L_B14QQlKE6vp3GoQB98xARITE9mkZDQJShK_wzCGZoPkrED51GtMcea_wat5pSatt-kbywrbdy-hMN3jzVCQOKSj9jko30CV9o3dN897uxiproHaD4qrT7jBlUF8cUIpvNqjPKsNB9jHmpq4JsNC6JdZ7I_jokwD3_bDGMT2qaVMnIY4CWqSj8mXG2hMJu8ZHeJm6m3ZMMdPTDORWum-LOcjhknZdORK8sAnZBygSdNLTv6P8Z5FqyEFE1qF4xx5uKRF9h60-mm5_cUoGs0omkR4_GMP6e4Fu2sPRk1a1xR38IN5GvKg8CrAe5X3YpiJYMKweM6wPHkdww4xXfxgYt6LIo-JeY4g75Dtl8iRzMjhR-mPjF-n8vWfx3kmq0zoE1alE1alMD1M8xE0iMCk54Z3TPBmOpO_1TDNrz6z8hSlngR5B2sXpj9hsrN21qe-XnNYmcmHj03Zfqw78VQKlpF_9rrr9YaLE0bO-vxMOGsp8YN5O67Ko-x8KD0pblMo-oo3T-ShNlsNwIanAd4fvKEvSf3FJC85kwc5s7r-8et5HBoYMqFQNqVQGKRehIzZ8xxZOxNH-WxG78dxDOsEM4vfKo1hrXDw-vwcPwCdsdHAm6L3icdgNWXNnYffWjq6Wh_WRQTWaHaFz0bz0uleixN_GC_I3eofJ74E1VdvP5TAc7P74MOw53u5Z0DODB8gLNjKT5IsztM08xZ0FdI8zPFCcy3Y6pff_LF7ami0I7LopVi9fbsnzr0gWuxWPswD4zzzfVYGLKJJCou5qIw8GjCakCJaCFwwoVZQcQDUsK_ImjDg4ssFXwVeEPi-n_h-EHqeG8KSFOyUlAC5SBQ6kceAlsI1ONxWVgtp9xGXRV8p-Ci40urxI4xCvGoYs-7APu71rpWrmn_BTOxaUbNmYf2vLP5_AW2hLaU">