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

    <tr>
        <th>Summary</th>
        <td>
            Assertion `!isInvalid() && "Loop not in a valid state!"' failed. with -verify-scev and loop-flatten
        </td>
    </tr>

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

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

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

<pre>
    llvm commit: e661185fb3e
Reproduce with: ```opt -passes="loop-flatten" -verify-scev bbi-75608.ll -o /dev/null```
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-flatten -verify-scev bbi-75608.ll -o /dev/null
 #0 0x0000000002e63883 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x2e63883)
 #1 0x0000000002e6159e llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x2e6159e)
 #2 0x0000000002e63c06 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f2fc582e630 __restore_rt sigaction.c:0:0
 #4 0x00007f2fc2f75387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007f2fc2f76a78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x00007f2fc2f6e1a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
 #7 0x00007f2fc2f6e252 (/lib64/libc.so.6+0x2f252)
 #8 0x0000000001eab761 (../../main-github/llvm/build-all/bin/opt+0x1eab761)
 #9 0x0000000001eaa371 llvm::ScalarEvolution::getLoopDisposition(llvm::SCEV const*, llvm::Loop const*) (../../main-github/llvm/build-all/bin/opt+0x1eaa371)
#10 0x0000000001eaed69 llvm::ScalarEvolution::verify() const (../../main-github/llvm/build-all/bin/opt+0x1eaed69)
#11 0x000000000383196b llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x383196b)
#12 0x00000000031d629d llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) crtstuff.c:0:0
#13 0x00000000026704ec llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x26704ec)
#14 0x0000000000af3f7d 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
#15 0x00000000026747ce llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x26747ce)
#16 0x0000000000af3d5d llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) crtstuff.c:0:0
#17 0x000000000266f79c llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x266f79c)
#18 0x0000000000722c49 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+0x722c49)
#19 0x0000000000732301 main (../../main-github/llvm/build-all/bin/opt+0x732301)
#20 0x00007f2fc2f61555 __libc_start_main (/lib64/libc.so.6+0x22555)
#21 0x000000000071b8b0 _start (../../main-github/llvm/build-all/bin/opt+0x71b8b0)
Abort (core dumped)
```
[bbi-75608.ll.gz](https://github.com/llvm/llvm-project/files/9958153/bbi-75608.ll.gz)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzdWNtu2zgQ_Rr5hbAgUdbtwQ_ODVtsiw2aoK8GRVEyt7RokFTa7NfvUJJtUXGSpk7RxQaOJZPDmTOHhyORhSwfl0I8bBGV2y03XrRCLEnCMIurImJecOUFq89sp2TZUoa-cbOxJl4S9B-5M2i-I1oz7UVXHsZCyt28EsQY1sBPNH9gilePc03ZAyoKPk_jJMh8IdBcIg_flOwBvptWiIPPfVDdCoun_znphbgWh-_DYN5Q0ZYM7mwicFk1RDxqruH2I8D50FTSt7DDRW4HFVIK1JmC82hlTS6IZl50eWyEBk4vhKRfPXw5Mfai6_4HlY0hvIE4Gdxqg7oB95DWysM56tu8-GLfHF2h5yJYv1OLLlZ8ZSGvgGBluGw65nHI9YfmgQheQmgbysMJfOCC7SDUSIN4gwjqbJA2xAA9IXR7OEUV4YKVfk_k7cfr1d010m0Bsw8jirZGiu2kMshItDFmpy0afAOfGma_LXxQypFre5mDPP5m1Ni50LpllnhEmhINM4PMhiGqiN6ggtCvRhHKhvB3BhpQ2W53h5kOoCu_VbJWZIuIqtsta4w-zHb3tQXa5z2cI5Si5aKcE1AS3HNQ342rzrE036LLDhW0RQEKvgf7P8ySKMui0XzpR93f3CremC6ze5sqzNHRSJFva6mNYmTbTdolkGT6Kcx-Jj8PXwTfByzg5gg2nIAN45ydAvu5be54DSvmD5gxwZQ-SOosPDacgwdPyaNBgpzIEHHgom_WPt1ZWQTd_8FRNDhKK1zROLOuArReK6aNVGwNwtW8JtSuFp8-Hb4YD8dVGkdZihThmqEu8xvBi2TRX6mvpZ90KUXAcOokFE8cJSTNECnsynnRUQp2jqPEdZSwkCSQEOnW_Nqu1nVBXoGHKxjkeE2nXnGMX3EBFo6LbDxlISNFmoRn6WLw4QTJJ0FIlIYjnd5RIoi6fpCitTPaN9bM2Dp3xfVOat61j9fY3eX1l776dpV4Wr9HXefJfEB7SMeuumCSDiuT_LV0-lI0rLvhqXEeLBvVgeVUgyiLwjwpRrBu2qZbMPfSEnQL0luVZAfraSharUvw3nyoYMeO_ZP3E2lIDSt6_Eg9DILHpx13HvdDDk6STomJwjLBeTkCVzJ4WouhREOKn2TJxGmITlLPk-OY3UIFYuqBlT0J9in4M9TsXy5-EedUGW3aqpqWRstf5JToJA0WjI4TtJy9FOS_mO9Zj7GeAkdjizFHAamiKn0Pjf0ybv9nEo0nEl2kdPxWA3S3gt3LvdNXK1k_4E2AhyHvpTCbgaOwZKqwMn6bwvY5Xf4gMe8lkSMxzwnkHdh-SRypK46kSvMfqV-n-PrteZ6nqi51R1XOu1yQYkwX4_cSyMDSc8t3TPDG3bLcGdjP1J9ZdUpST5K8hy0bM58I3XR-Vqd6P_JCEfVoN-Yftjvx1Ap26H-1ZteaGy5OODmr-5l0VkqRR9s6npWj7bSUnjTvKBRtzZsn9jA3awPA-l89vD95U75k9cW-F3Km9nb24OLHr-dpqFeII6HclVAEG-IQWbfnBer8jAPhYLJ1CeM4hg2R3a6stSGwKdpHfX4zg2GM4zR00YdFVsC2sXN3Hv7O0yHUar8BpLAZ7Q42WHnE4R5iefHF-OTBr_-xxz04e_OpSwU6t4cueR5nYRxZjBO_ewQztgyTJM2yNM0Ws3IZlXmUk5nhRrDlrzhl6o4M3dMWezI0PouZtUosf_6kKc6yJJ5tlouK5DHOCMZlVS1KSpKKRZRmZb6AbWeczwQpmNBLYB1onvElDjAOwyALkiBfLPyqwCwrwzyiYRjDcG8RMNCC8G1gX6p6prqT0nnR1ho6BddGHzth6fO6YWzvn7RmI9Vyy78SJjZSbCHRDvOyA_wv7pRrOw">