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

    <tr>
        <th>Summary</th>
        <td>
            [SCEV] llvm::ScalarEvolution::verify() expensive check failure
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            llvm:SCEV
      </td>
    </tr>

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

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

<pre>
    For a build with extensive checks enabled, this input:

```
extern char a[];
void b() {
  for (long c = 0; c < 6; c += -2078836808675943215)
 for (long d; d < 6; d++)
      a[c + d] = 0;
}
```

compiled with `clang++ -Ofast test.cpp` runs into this error:

```
Trip Count for Loop at depth 1 containing: %for.cond1.preheader<header>,%for.cond.cleanup3<latch><exiting>,%for.body4.preheader,%for.cond.cleanup3.loopexit
 Changed!
Old: 1
New: 5
Delta: -4
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:

 #0 0x0000aaaaaf3af514 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/llvm-project/build_expensive_checks/bin/clang-21+0x490f514)
 #1 0x0000aaaaaf3acfac llvm::sys::RunSignalHandlers() (/llvm-project/build_expensive_checks/bin/clang-21+0x490cfac)
 #2 0x0000aaaaaf3b031c SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0x0000fffff7fb09d0 (linux-vdso.so.1+0x9d0)
 #4 0x0000fffff7a1f200 __pthread_kill_implementation ./nptl/./nptl/pthread_kill.c:44:76
 #5 0x0000fffff79da67c gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #6 0x0000fffff79c7130 abort ./stdlib/./stdlib/abort.c:81:7
 #7 0x0000aaaaae52727c llvm::ScalarEvolution::verify() const (/llvm-project/build_expensive_checks/bin/clang-21+0x3a8727c)
 #8 0x0000aaaab085cb70 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/llvm-project/build_expensive_checks/bin/clang-21+0x5dbcb70)
 #9 0x0000aaaaaee546b4 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/llvm-project/build_expensive_checks/bin/clang-21+0x43b46b4)
#10 0x0000aaaaaef22b20 llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/llvm-project/build_expensive_checks/bin/clang-21+0x4482b20)
#11 0x0000aaaaaef1ec7c llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/llvm-project/build_expensive_checks/bin/clang-21+0x447ec7c)
#12 0x0000aaaaaef213ec llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/llvm-project/build_expensive_checks/bin/clang-21+0x44813ec)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsV01z4ygT_jX4QsWFQJ8HHxQlnvcw787UJLtXFwJkMcGgAuRJ9tdvgeRYTiWzOx9btYdRKRUk6KeffuhuC-qc3GshNiC7BtnNio6-N3bjPhth-UHIz8KuWsOfNltjIYXtKBWHX6TvoXj0Qjt5FJD1gj04KDRtleAAN9D30kGph9EDUgMU7xzNN6qDqdWQ9dRCOjkG5Bqg-mgkhy3AJcAVBEV4BWFnLAS4VEbvIYOA3EAEyHUcNjCfh_g6TFxhVJQlyUtU5kVWpQQnGcBVgFmi8GDEz_Y8mIc7roxXoBVhIQfZzbPXEEhx8yIcgGpmDoNUYpYG5IgpqvcTLLz60FHnoRfOr9kwgBxBO-ogkDeTVMJaY1-V6t7KATZm1D5G8N6YAVIPuRh8DxPIjPZUaqn3gNQQ4Kwzds2M5sl6sKIXlAsLSHMa3ALcLBatmRJUjwMBpFHUsz6sII14lD4iLpaHHEgXmK_jrJUxQzAPOjY91fuQDwlA9QfFA8Mw_E18CcMMoPpGKE_Dw1UKUP3x_W19dwvd2B6kj8m2h1YMxnroDey9H1zQCG8B3u6l78d2zcwB4K1Sx9O_q8Gaz4J5gLfSuVE4gLeQag6lZmrkAvpeQGap62FL2YO3lImQsYMVgzVMOCc4dGa00-tgSZ0zTFIveNg26JiVg18DVN95yh4gHw_D89ZBgAmC6BEhhGi4OkK7LElhpEhqQGr35KbBRyu1jxj3E4vyvMjSLzvjvBX0AHAemEjtY1GE2ngZaazKnXgcpoLcTQUZJqQGeBtz8QonAF-jx7RCgdCc6wCT5AVd1lH2Gt1Po76Te03V_6jmSlh3KtOfwCj4PDPCl4xaRBIGL3wDXEY9GujkXurO7DzAdXgOHSQOq9nCxZIjNYp_kwMyO-jCVXQtqjiKzUHq8fHqyJ1ZO7Oe2FUcnZmlF4Y06TBCcLcbfG8F5bsHqdROHgYlDkJ76qXRcA3wVg9eAbxdDJcWawZInaaA1EU--8ku_FSc5gWDexcDiojTMGDGpyfHxRDkHYyTjwBvLZVORGBcAFKfcPNLXFYkBEHahgqLOJ4r2c5Mnx_ifMQqk0ByxiqWuyQyXOBimTd3jCpqb49GjUGH6eVRWNk9zYnDjHb-x9OH0DK4Pm9SuSDWojJjbYEWxLajZoHRvQnN9CN1ruZ08FP_JbUd9UUlnpbPZXieqDVVT066_1NN97HLvmIUWmj-U6ok420I5BxmdaG_yNK8XbaZENhXqX1PMDD-QPyXZUpJG4SYZArd7aIbiw7jFi-zoXl31zT35sTkb9PhPf3zqaFKvbN06OdMb5pvivotiKX95RqcnxT66pqL2RjY7wOnXnwSblT-pymclkHDs8LJpcKJYBeN4K1E_Ccy_Csy_qCGb1XAr8xI0yLs_Tkz8IvaS4hYZsaNOErr75rmkxhE-L4KqfJL3DfLLsg3i3s6Iaz4hvCKVHQlNkmR4aLIq6xa9Zu8ZFgg2pK2KHDFSduVBUUIJ6LKSC7YSm4wwhkqkiIpcZVU65yUXVVixrOsKEpOQIrEgUq1DqTXxu5X8YN6k6QVKYqVoq1QLh4bMZ7jv2tu_wAYh3Ok3cRY23HvQIqUdN6dgbz0Kp44o0F2802fDc9yTedO2FGpRitWo1Wb7z8jzFEdN_ivAAAA__9Rkp8-">