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

    <tr>
        <th>Summary</th>
        <td>
             LLVM ERROR: Broken module found, compilation aborted!
        </td>
    </tr>

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

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

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

<pre>
    The bug was found by FuzzGen IR test generator

Run opt with -passes=loop-deletion 
https://godbolt.org/z/16zoTYEqx

Test.ll
```
; ModuleID = './reduced.ll'
source_filename = "./reduced.ll"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:1-p2:32:8:8:32-ni:2"
target triple = "x86_64-unknown-linux-gnu"

define void @wombat() gc "statepoint-example" personality ptr null {
bb:
  br i1 false, label %bb1, label %bb4

bb1:                                              ; preds = %bb
  br label %bb2

bb2: ; preds = %bb1, %bb2
  %invoke = invoke double null(i64 0)
 to label %bb2 unwind label %bb3

bb3: ; preds = %bb2
  %landingpad = landingpad { ptr, i32 }
          cleanup
  ret void

bb4: ; preds = %bb
  ret void
}
```
Stack dump:
```
0.      Program arguments: /opt/compiler-explorer/clang-assertions-trunk/bin/opt -o /app/output.s -S -passes=loop-deletion <source>
 #0 0x0000000003597b18 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x3597b18)
 #1 0x000000000359526c SignalHandler(int) Signals.cpp:0:0
 #2 0x00007fee38042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #3 0x00007fee380969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #4 0x00007fee38042476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #5 0x00007fee380287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #6 0x00000000007905f3 llvm::json::operator==(llvm::json::Value const&, llvm::json::Value const&) (.cold) JSON.cpp:0:0
 #7 0x00000000034dea68 (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x34dea68)
 #8 0x0000000002f6f993 (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x2f6f993)
 #9 0x000000000088bbae llvm::detail::PassModel<llvm::Module, llvm::VerifierPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x88bbae)
#10 0x0000000002f34d6c llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x2f34d6c)
#11 0x0000000000895cca llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x895cca)
#12 0x000000000079c483 main (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x79c483)
#13 0x00007fee38029d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#14 0x00007fee38029e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#15 0x000000000088af1e _start (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x88af1e)
Program terminated with signal: SIGSEGV
Compiler returned: 139
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWE1v47wR_jX0hZAhkbI-Dj4463ibdtNdJMECPRmUOFL4hiZVktrE-fUFKTmR3KR4083pNWyZHzPPPJwZjigxa0WrANZodYFW2wXr3b026zvmjkyxre4rZxeV5sf13T3gqm_xI7O40b3iuDriXf_8_BUUvrrBDqzDLSgwzGmD4i2KN8P1pldYdw4_CnePo45ZCxbRrdS6izhIcEIrPIjeO9dZRDeI7BDZtZpXWrqlNi0iu2dEdkn2rO_-dfnvpyn-HVi3lHIcyuLxO3TpBb7WvJdwtcWIbjEi-RKRnQHe18C9GskHUat7U8O-ERIUO8AoTc6lySDtmGnBYc4ck-yoe3eSh-iA6AaijuQxohtKwsV3k3nXt7I0XCLx0khIgegmIUXUFPHYUmEoO6lnaXQbhoUfjjpymijGHyXDHDln64zo5MvKnopsn6VRrx6UflSRFKp_ilrVv2gNVw6NUIB_acExSuNHfaiYQ6RApMRt7YGsYw46LZSL4IkdOgmIENyBsVoxKdwRd85g1UuJUX4xoFaVD3NoYlwZLBLcMGkBkS9YsgokRmRVVclZP50y89N0gz_08QnRGeB29MKqqiYsJpbI3JL371vKgeBUAfueUL_0w-Doscl1X0kITkCkEFmKY0TKUcXpmWXcq0eh-HSMztnQd9hMOUimuFBtx3iYn3bzCx8Rz1xQglG-PamdPrUEpvruNGzAhfjPSaTvkHhH62TlbIfeOlY_YN4fupeEOJOIlygufxjdGnbAzLT9AZSzwTjZ6c4hsqv1oRMSTARPndQGjB-TTLWRrzbGVxgbOdOrB0R2lVCDIo60h2Bd5_u963q3tDi6fb9I0S9DlUD0clwlIjTG8VN8-tBVmVdJgaX85esAoht7tEPjhxHKheXeGVYDIsWrkGGPe22dAXZAJAuRUc7vsLDRfmuViFzETyOt15RDhCZnvFckq_GtaBWTf2OKS49fjDSGYbusOx-mOPxegMgIlDcAtIhTsiLxSFyKCpHdWGkmFcZP1Eurl1mgF1Rm5Ogcs8zKpsaduzfA-P5B-FLyEQNBf2YgPSed5hlubVjnR8mneTbDXs2xSZE3FLNKG_cx5KA4Q86mMYvzMl41dJJrf1ithpbuxhsx3frvNNdehX4y2QOutbJuzLo_IxWScllryX3777ff__l2WuSz_Eo5sKz4tHwe4Ga-Kab2SJM1ZUk_y94IN7NXzmJRFFXFYOJADo4JOW59Zu215iAR_fIqMRxM5m7_CUY0AozXmM_8MGDB_AK-UUwefXmaTQ-jwl4zxVowbxmil-Eb6k2vZjlxopL9P6AvSfEZnh78-OJoX6fieWBpyrN66hjv3PcJ_iW9NHph5qZkno_lqq7ZhKXplffUD9GBFGp--7l1Rqj2Bpr5wt5Z7104TV6z-j7gbN6a_SYqw8zxSjX66tDJ_5bSWn4Pt9ydkG-A_Nb0O8vZGMOOfnQaoOAT2bdChSBN5XXn9k7rcQ8P9v4hFP9fUqf9e5Kr_MyH_z9vN4UsmKUJObuF1GlB8YEJ9Vk2B8iZzbO7OSl5-cETQlCZYabnmJDGeL_3anvrmHH7yaL-tBVI51ZWZ0WeNQngAf_zKp4HfbF6Ouk6MAehmAM-PDkPRxN_7L29-np7-fXnIP5lNOyP271RwL1EQsuzo_SCrykvackWsE7yOKVJTPNkcb8u67igwFlR0bKpElav8hpy4OWKk6pi2UKsSUzSOIlpUlKySpZFwhhLs7yqyrJsIEZpDAcm5NLvCf-wvhDW9rDOs2JFFuEhxob3C4QoeMRh0j9jrrYLs_Y6UdW3FqWxFNbZVxQnnIQ1_vbt5zW-vLn5fuNXdmH0Ayh8CJVpeBHht83gfhZO6eGgBRyRZNEbuT57pyDcfV8ta33wwfebePiLOqP_gNqHMhC0iOzCAv4TAAD__-duDuU">