<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-">