Issue 98278
Summary Trip Count for Loop [...] Changed! Old: (-1 + %v_582.12.9.ph)<nsw> New: (253 + %v_582.12.9.ph)<nuw><nsw> Delta: -254 with -verify-scev
Labels new issue
Assignees
Reporter mikaelholmen
    llvm commit: 015526bf3fc6843
Reproduce with: ```opt -verify-scev -passes="indvars" bbi-97285.ll -o /dev/null```
Result:
```
Trip Count for Loop at depth 2 containing: %land.rhs.9<header><exiting>,%for.body19.9<latch><exiting>
 Changed!
Old: (-1 + %v_582.12.9.ph)<nsw>
New: (253 + %v_582.12.9.ph)<nuw><nsw>
Delta: -254
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 -verify-scev -passes=indvars bbi-97285.ll -o /dev/null
1.	Running pass "function(loop(indvars))" on module "bbi-97285.ll"
2.	Running pass "loop(indvars)" on function "main"
 #0 0x000055de3e2b76f7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../main-github/llvm/build-all/bin/opt+0x3f8c6f7)
 #1 0x000055de3e2b51de llvm::sys::RunSignalHandlers() (../../main-github/llvm/build-all/bin/opt+0x3f8a1de)
 #2 0x000055de3e2b80ff SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f7adf51ecf0 __restore_rt (/lib64/libpthread.so.0+0x12cf0)
 #4 0x00007f7add0d6aff raise (/lib64/libc.so.6+0x4eaff)
 #5 0x00007f7add0a9ea5 abort (/lib64/libc.so.6+0x21ea5)
 #6 0x000055de3e9f4b60 llvm::ScalarEvolution::verify() const (../../main-github/llvm/build-all/bin/opt+0x46c9b60)
 #7 0x000055de3f830486 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x5505486)
 #8 0x000055de3f60a12d llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) PassBuilderPipelines.cpp:0:0
 #9 0x000055de3e4bc59a llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (../../main-github/llvm/build-all/bin/opt+0x419159a)
#10 0x000055de3f60e8bd llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) PassBuilderPipelines.cpp:0:0
#11 0x000055de3e4c1531 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x4196531)
#12 0x000055de3f607ccd llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) PassBuilderPipelines.cpp:0:0
#13 0x000055de3e4bb38a llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (../../main-github/llvm/build-all/bin/opt+0x419038a)
#14 0x000055de3f5b05eb llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)> >, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) (../../main-github/llvm/build-all/bin/opt+0x52855eb)
#15 0x000055de3e27f07d optMain (../../main-github/llvm/build-all/bin/opt+0x3f5407d)
#16 0x00007f7add0c2d85 __libc_start_main (/lib64/libc.so.6+0x3ad85)
#17 0x000055de3e278bee _start (../../main-github/llvm/build-all/bin/opt+0x3f4dbee)
Abort (core dumped)
```
[bbi-97285.ll.gz](https://github.com/user-attachments/files/16156856/bbi-97285.ll.gz)

This starts happening with fa0014a68bb4
```
[SCEV] Drop LCSSA check in createNodeFromSelectLikePHI()

SCEV expressions no longer try to preserve LCSSA form. SCEV
construction will try to look through LCSSA phi nodes. As such,
we also no longer need to limit this special-case fold.
```

_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to