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

    <tr>
        <th>Summary</th>
        <td>
            Assertion `!isInvalid() && "Loop not in a valid state!"' failed. with opt -verify-scev and loop-simplifycfg
        </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: a672b7a7d7e894
Reproduce with: ```opt -passes="loop(require<iv-users>),loop-mssa(loop-simplifycfg)" bbi-74411.ll -o /dev/null -verify-scev```
Result:
```
opt: ../include/llvm/Analysis/LoopInfo.h:149: bool llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::contains(const BlockT *) const [BlockT = llvm::BasicBlock, LoopT = llvm::Loop]: Assertion `!isInvalid() && "Loop not in a valid state!"' 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(require<iv-users>),loop-mssa(loop-simplifycfg) bbi-74411.ll -o /dev/null -verify-scev
 #0 0x0000000002e5b583 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2e5b583)
 #1 0x0000000002e5929e llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2e5929e)
 #2 0x0000000002e5b906 SignalHandler(int) (../../main-github/llvm/build-all/bin/opt+0x2e5b906)
 #3 0x00007f6901fc6630 __restore_rt (/lib64/libpthread.so.0+0xf630)
 #4 0x00007f68ff70d387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007f68ff70ea78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x00007f68ff7061a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
 #7 0x00007f68ff706252 (/lib64/libc.so.6+0x2f252)
 #8 0x0000000001e86e61 (../../main-github/llvm/build-all/bin/opt+0x1e86e61)
 #9 0x0000000001e85a71 llvm::ScalarEvolution::getLoopDisposition(llvm::SCEV const*, llvm::Loop const*) (../../main-github/llvm/build-all/bin/opt+0x1e85a71)
#10 0x0000000001e8a469 llvm::ScalarEvolution::verify() const (../../main-github/llvm/build-all/bin/opt+0x1e8a469)
#11 0x00000000037e75eb llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x37e75eb)
#12 0x00000000031c55fd llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x31c55fd)
#13 0x000000000263f99c llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x263f99c)
#14 0x0000000000ae8e1d 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>&) (../../main-github/llvm/build-all/bin/opt+0xae8e1d)
#15 0x0000000002643c7e llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x2643c7e)
#16 0x0000000000ae8bfd llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0xae8bfd)
#17 0x000000000263ec4c llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x263ec4c)
#18 0x0000000000720180 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+0x720180)
#19 0x0000000000732551 main (../../main-github/llvm/build-all/bin/opt+0x732551)
#20 0x00007f68ff6f9555 __libc_start_main (/lib64/libc.so.6+0x22555)
#21 0x0000000000718770 _start (../../main-github/llvm/build-all/bin/opt+0x718770)
Abort
```
[bbi-74411.ll.gz](https://github.com/llvm/llvm-project/files/9721812/bbi-74411.ll.gz)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzlWG2PmzgQ_jXki5UITDDwIR-yb7rqWt2qu-rXyIBJfHVwzjbb7v36GxuSYDbb7TZb3VsUBWKPZ555ZhjjKWT1uBDiYYtKud1yE8RLREmKi5SmVcqyfB6EV0G4_Mh2SlZtydAXbjZWKiBh95U7g6Y7qjXTQXwVYCyk3AU4U-yPlisWxJf8YdpqpmD6OsB5gC-txHSrNQUxd6_5did4_VjWayeBUVHwaTqfR9FMCDSVKMA3FXuA36a1Aw9MgfhUlzC2B7JHqlth_ej-jmYBrAU_m4Em3pSirRjcWQLgsmyoeNRcw-17QPWuqeXM-hrNc7uokFIgJwrK46UVuaDaOngchAFeXghZfgY3R8LWffenlI2hvAE7Gdxqg9yCe_BxCd6jbixILvbD8RV6zoLVO5ZwtpIrC3kJUVGGy8aFC0dcv2seqOAVmLamAkzgCxdsF6FGGsQbRJGTQdpQA_REMB3gFNWUC1bNOiJv318v766RbgvIGlhRtGuk2E4qg4xEG2N22qLBN_BdQ8q0xQwy7Mi1vUwhp35npbGx0LpllnhEmwr1kUFmw1CpqN6ggpafjaIl683fGRhAVbvdHSIdwlR-q-Ra0S2iat1uWWP0IdruZwu0Tzs4RyhFy0U1pULYe97Ar5_SZ-fza5LZuQICcYjCr-H-g1lSJFk8CLJ-1N3NreKNcXTcW34sgoOQol9WUhvF6NZF-hKYNV3csx8hJcAX4dcei_X8ADYagc1xzk6B_dg2d3wNj9kvEGZhKdzn4Vl4rDkPDx6Tl4cEeZbB4htxAao923FvO61JHkZ1SQjEcrVSTBup2AoeEOf0jeAFmXfXndlAjKqZlrPQ6a1hjad0flSa1XUaVnGWIkW5Zk-1lVYPcXpiAnKeomSkiNE0Q7SQp2ANFcF-kHmKyEgRiSgBN6mrOCtbK1YFfQEermGRpzUda8UJfkEFSHgqsmHsI5YRRqKzgtzr8IzkIyMJTaNBwt-VVFB1_SBFa6tvN7hmxlbZK653UnM3PnxY7y6vP3W13-0D491jMHVezvZoD-7YxzccuUPnJH_Jna5q9Q9wv2edB8ta9WB5ZSVOWZqwYgDrpm1Ki-deWoJuIfWWFd3BU9ZXv9YneC_el8LjxH7f_0AbuobSMNzQD4tsrSfnct_74Dnp1ao4KpOkrgbgKgbvCqKv9eDiB1kxcRqi59Tz5Hhit1CXmHpgVUeC3YN_gBp0eLf5J5LeceqRHnsbBInrPC-HrFiivwXsP0dSz4FH0nxIUkhZxqK3yMyfR-7_LbO7kHgxS_zEnsdlOnwTgxi1gt3LPY4Xi2a34FU-9kveKC2dB56LZJyWxSsL5t6ny-8k5q3S6kDM80n1N9PdkemxnY4qJSvn31MpT3H87-am990jx3vXDFMcRlk4gAYeWH5u-Y4J3vhnszsDB7f1R1afysMnTt7DgZaZD7TcOD3LU7PveaGoerRti3dw_HwqJaX4rTW71txwcULJWdPPuLNUij7a0WFUjrLjmn1S3FEo2jVvnshDbFYGgHX_Oni_8qb6ltQn-97KmdrL2bbO91_Py6EuQ7wUyv0UinGSRMiqPc-Q0zM0hEPvaEXqPEkSOLDZ49RKGwqHtr3V5w9boDTxlEY--ihLUzjsOnXn4XeaDqaW9oB6sqEXJBfD7sps_adtfeHs1R2oGrLaNqDyFEdZhC2ikd49mAlbRIQkcCDJQjKpFnGVxzmdGG4EW_yMjpvruSLXlBq0ilynbNxtmrRKLH68-5ZkUZpPNouYzWNMShKSPM4qRiglYV2XYVHRFDOaTgQtmNALYB-gNuwLcios7ORqwhc4xDgKQ1gfh-F8RuIqndcpg9yH7IPzzzxkkBBiZnHMpFpPlGtCT4t2rWFScG30cRKef75uGHPmQD9tzUaqxZZ_pkxspNiyZuLsLxz-vwDDitID">