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

    <tr>
        <th>Summary</th>
        <td>
            "Trip Count for Loop at depth 1 containing: %for.cond203<header><exiting>,%for.body206<latch>  Changed!" with opt -verify-scev
        </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: ca27f3e3b26
Reproduce with: ``` opt -passes='loop(indvars)' bbi-70129.ll -o /dev/null -verify-scev ```
Result:
```
Trip Count for Loop at depth 1 containing: %for.cond203<header><exiting>,%for.body206<latch>
 Changed!
Old: 1
New: 0
Delta: 1
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 -passes=loop(indvars) bbi-70129.ll -o /dev/null -verify-scev
 #0 0x0000000002c8bc63 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build-all/bin/opt+0x2c8bc63)
 #1 0x0000000002c898de llvm::sys::RunSignalHandlers() (build-all/bin/opt+0x2c898de)
 #2 0x0000000002c8bfe6 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f5a684b8630 __restore_rt sigaction.c:0:0
 #4 0x00007f5a65bff387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007f5a65c00a78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x0000000001cf801e llvm::ScalarEvolution::verify() const (build-all/bin/opt+0x1cf801e)
 #7 0x00000000035649e1 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x35649e1)
 #8 0x0000000002feb46d llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) crtstuff.c:0:0
 #9 0x0000000002456db5 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x2456db5)
#10 0x0000000000b0db8d 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
#11 0x000000000245b1ba llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x245b1ba)
#12 0x0000000000b0d96d llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) crtstuff.c:0:0
#13 0x0000000002455f48 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x2455f48)
#14 0x000000000078ea3f 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) (build-all/bin/opt+0x78ea3f)
#15 0x000000000079f7ff main (build-all/bin/opt+0x79f7ff)
#16 0x00007f5a65beb555 __libc_start_main (/lib64/libc.so.6+0x22555)
#17 0x00000000007893f0 _start (build-all/bin/opt+0x7893f0)
Abort
```
It starts failing with commit https://github.com/llvm/llvm-project/commit/d1e880acaa6f096618fa09d18daf17b9300558fc
```
[SCEV] Enable verification in LoopPM
```
but that just enables scev verification so I suppose the actual problem is older.

This is a bit similar to https://github.com/llvm/llvm-project/issues/54434 but the fix for that issue doesn't help here.
[bbi-70129.ll.gz](https://github.com/llvm/llvm-project/files/8768577/bbi-70129.ll.gz)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzdWN9v2zYQ_mvkF8IGTf1-8IPrOFiwZg2aoK8GKVI2W1oUSMpN9tfvKMmJ5ThxsrbbsECRLPJ4d9_dpwOPTPOHmVK7LSr0ditdEM5RQUlahiJkJAnwRYDnn0VtNG8Kgb5Lt_EiQYK7C-naoXFNrRU2CC8Ckiqt64BksuI7amxAchhDjMlxiqcknyiFxhoF5JKLHdyrxg_shJHlw9gWYvekem_bNsq71b0ezd4ZWaOFbiqHSm3QR7CNqENc1G6DpoCpclRWslq3TpMYhCYwyAkOg3CxEZQLE4RL-C3upWvllgFZ9JIMgkNwArOKumLj51qraLGh1VrwgEy7gU-KewP92x_iu3_rXbwQytGD2ZuPy_ntEtmGQbgRRaxZIyNqbRxyGm2cq61HSy7hWkO4GwYeb-HFZ6l_jCEfX0Xh4FVa20DoySWiFUeyKlTDBXIbgQpD7QYxWnxzhhZi0pm_dTCAeLOtH2OKYSq_MXpt6BZRs262onLeCfBNKj6mSoF-Jiu4D9P9LNfvSHQfyoCEGOF7vP8jRcaKJEQtWvAwnNsH2_24MbJyrf93HhAYfhIy9PtKW2cEhRglkEIIhfMOgdRJFAH5gO97Y56kj95Mj7zJM4jnCW8-N9WtXFdU_QaBV8LDz95i0OsbGCTH8EuRoIHqNsQtmm7YTorapw-3_4-Kwl5RWsY0ySKWJRDa1coI67QRKyCYlWtaOKmrSfF8eXS4PGZlGWYpMlRagVpol0qyJOqexcTqSdJCChOQGwCKB4oKjGmaIco8w19VlILcQFFyGJlpUWZ4epiK24IqapY7rRqPqRvsGNbnAj51617PSK92YDc9tBvGSZSL6YHdy6Zqg3infb25gY9hzmkNMe6p2FQDau7Fe14-TcwhlQ9W2mta0bWvQ4sTi3w9Ss7yqndygCIb8KoULEr4gXUuoDSq_ssCDNeaC3Xah4HXL6MfiN0A7YTZCd6h9CXq72D31y8MamGcdU1Znvoe8kH8ojjhLD4E6GP2mpH_It7Xi1OH8ZFEvhgOajNmmLPsZ5DolwXvf8RBH_7pEQfZlNEDQxDuRok7vVd6thZ1C97lcL_kzRTyLg4oRI4plL-zDu2dXrwR-c_iwBPylxjwE8L5WvbDo-zHZZS94SM6Fa9_Hec52nhsA9pEA9qkmaBheWAbXPT4b2QtlKyGm8FbBzvF9WdRnuLMMxR3sOUV7poWm1bP_NTsR8kMNQ9XVamvtrV6LqW1-tS4unGXUp1Q8kPTL8CZG0Mf_Ohh2J9kj4vhSfE2hKpZy-qZPORm5cCx7q1z73fY6b8m9cVvvqQweznmZ84-z5CjS_2AG_GQG3mZliXaQqd3RlMrONCUDDe9gsVxDHtmvzNdWUeNW-3VvrhvJQTWDJSmR9TNwxI24q26c1C96KOuud8zn-x7r2Av79VZVELxhIy3nXnfw7-_iex7f-jVpiLLMC0oTUqcJ8k0KynO-TTjtJymLA8xjuOsLE46FcQfbhfLL0F8gZYVZUqgdjMuC-orNDRkbX9-c31yMWug_91A7_61gS27aNdb1J4IDLRYja6gea5rbbs2FxqahioEYGDFFkmLtIKuvm93-2OCDQzDBd229F3QVkLj8GPtdhxF0DF1XgtUyvv2AKJF0MogroWF3KaQDqFquJl9Cw5xOmyTJ-s_IWTAi3c7U0K18L5kaZLFaerpdKR3z6QRn4U8D3M6ctIpMQsI-aePTtDhqQkhHWHb44SDQ4FRY9TsB5ISJ1k-2sySiGaEhREtcQbBCTk0-YSTMo6KkCZhPFKUCWVnkAkI_UjOCCYExyTGSRSH-SRkhIppiFmYYp4mPIiwgDqgJt7wRJv1yLSHZmPWrC1MKmmdfZqEogp9uhB7_bRxG21mW_mNCrXRaiuqUevzrHX4LzPs5uA">