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

    <tr>
        <th>Summary</th>
        <td>
            ached disposition of [...] is incorrect: cached Variant, actual Invariant with -verify-scev and indvars,loop-deletion
        </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: f33173acd68
Reproduce with: ```opt -verify-scev -passes="indvars,loop-deletion" bbi-75311_2.ll -o /dev/null```
Result:
```
Cached disposition of %xor175.us for loop Loop at depth 2 containing: %for.body151.us<header><latch><exiting>
 is incorrect: cached Variant, actual Invariant
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 -verify-scev -passes=indvars,loop-deletion bbi-75311_2.ll -o /dev/null
 #0 0x0000000002e5b773 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build-all/bin/opt+0x2e5b773)
 #1 0x0000000002e5948e llvm::sys::RunSignalHandlers() (build-all/bin/opt+0x2e5948e)
 #2 0x0000000002e5baf6 SignalHandler(int) (build-all/bin/opt+0x2e5baf6)
 #3 0x00007efe7cfa2630 __restore_rt (/lib64/libpthread.so.0+0xf630)
 #4 0x00007efe7a6e9387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007efe7a6eaa78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x0000000001ea9ccc llvm::ScalarEvolution::verify() const (build-all/bin/opt+0x1ea9ccc)
 #7 0x0000000003827bcb llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x3827bcb)
 #8 0x00000000031d000d llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x31d000d)
 #9 0x000000000266a71c llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x266a71c)
#10 0x0000000000af0d7d 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+0xaf0d7d)
#11 0x000000000266e9fe llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x266e9fe)
#12 0x0000000000af0b5d llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0xaf0b5d)
#13 0x00000000026699cc llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x26699cc)
#14 0x0000000000721cd9 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+0x721cd9)
#15 0x00000000007311c1 main (build-all/bin/opt+0x7311c1)
#16 0x00007efe7a6d5555 __libc_start_main (/lib64/libc.so.6+0x22555)
#17 0x000000000071a940 _start (build-all/bin/opt+0x71a940)
Abort (core dumped)
```
[bbi-75311_2.ll.gz](https://github.com/llvm/llvm-project/files/9916812/bbi-75311_2.ll.gz)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzdWNtu2zgQ_Rr5hbAgUtbtwQ9OGmOLbbFBE_TVoEjK5pYWDZJyk_36HUpyYjrOpTfsJTBsWRyeOXNmNOG41vx-rtR-i5jebqWL0gVq0hQXKWU8L6PkXZQsPomd0bxjAn2VbuNNojwZXnrn0HQvjGzup5aJPZruqLXCRum7iBDZ8j01NiKXSuvdlAslnNQtrKC6ltMiSzFekVgpNNUoIksu9vDedko9ODgwsJ3y5IavJ6uXlG0ER1zanbbSe0C6AbzsThtcZHFnUaMN8hzQB_9GHeJi5zaIQNito7KV7bqPi2RgGdegCs4wbIzSy42gXJgovYJrRR3bDJfiDjz5XVcDCSQtki3TxgjWy8gGVp-pkbR1oAGizHVUofftfrzXb7z-cLW4uUK2q0F_RFHdrZERO20cchptnNtZHzhZwmsN-nd1DLmCLz5t48cUEvSn90uW0toO9CdLRFvuGamOC-Q2AjFD7QbVlH1xhjIRD-5vHNxAvNvuHuRNYKm6Nnpt6BZRs-62onWeBHCTik8p5IcsawmJXL5QAM9k_9XUD3JGJE1Qcpcc_ojI6qJIUR81ME0X9t4OF9dGtq6P49YHFpHy0cjQryttnREUtMp9FqRPRgX45dloInKR3I3OwO6RDT5hU81KcY7Np669keuWqt8gAUp4Acq3OPR4gUNyGj5tchRAA-Rbo4G9AXg6gheiEQVrKMlB7tXKCOu0ESsovp72Usk6nw2f8MCAjDy2Ok563Ab2BKCzY1CaiyotC2SotOIpGvM4eY-T5mAXAGUnQJQWJaK1PkfrGKgAuwAoP9YQC1oxxo6SdsOoouZqr1XXN6b-5lDNY9agP1j3srwjbOC3OPablqSoWX3kd9m1zDu81b4fXcMTs-B0B8qPRdu1QREfzMcKflxYQC3cW2k_0paufZO6PLMJOpTf90qRjCSDKMogCszhnR955wJapxqfQYjho4Zn_DyHgPXz0Qdm11CMwuwFH6L0Te07Ykd9u_7HVB1EC1Stguc6z2mBj2uyV_Ilz_89FcYgH1Tw3TRo7gltEl78jNr6der972pz0DxICj4pTVE1x__jIAmdErf64OjVxjVs-KYgxi1vLixPMYiBnBZWnX1bYR1IX74x8p9VGA-RP18Wv1rPQa1AzvSkJKqKvaVbnRPxXx78GFwQ_SwopoJgxqsj30DRC3Atd0LJNjx53jg4lq4_ieZcJT2J4hbO2cJ9hJmhx1mcW_0ga0PN_fu20e-3O_XUSmv1R-d2nVtKdQbkh5afCWdhDL33d49lf7Q97ZtnzXsJVbeW7RN7yM3KAbHh20DvdxgsXrL67M9vUpiDXe1X3vz5SpEMJRDUSBbWCHRRhtEWhspXkHrDACkPj708gz84lPtD7so6atzqAPvsEZgQ2BOAFiE9TKsZnPR7uFcI9qYPWIvD8RtmXNEPjOKoU4QTeZRdhFNevP4ryt7B5m-eZxsoRj_OVhXOS0w8yyfIBxYTMcd5XqR5VabZhM9TXqUVnTjplJif_5Egu4jjGKh9x_je_xoSDr_DyH127J10Rs2_f5rPyiJLJpt5VVZNjdOE4lQUCWNlNmMFqXlJyjTNCj5RtBbKziGwiJBWfEU9BFxDkBM5JwkhGCckyXGBs5gWBcdFhbGY0ZywJJolAmpMxZ5HrM16Yvqfh6Z1t7awqKR19nERHlyYR4Xo3QE-7dxGm_lWfqFCbbTainbS-5_3_P8GfFaTtA">