New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LLVM ERROR: Instruction Combining seems stuck in an infinite loop after 100 iterations. #48699
Comments
I'm not sure if this is the only problem, and I'm also not sure about our rules for pointer comparison, but this seems like a missing constant fold opportunity: define i1 @#49355 (i8* %x) { $ ./opt -instsimplify cmp_null_const_expr.ll -S |
https://reviews.llvm.org/rGf75b5305f4de That should at least allow us to reduce the test to only "opt -instcombine". I had a machine working on bugpoint reducing that for over an hour, but it failed when I updated 'opt' while working on another bug. I'll try reducing again later. |
Bugpoint was spinning away at this for 8+ hours on my machine. The test is triggering some iterative transform - increasing the iteration limit will avoid the assert (the function will "finish" optimizing within instcombine). We can also decrease the iteration limit to create a smaller example with bugpoint: $ bugpoint -instcombine 49355.ll -run-llc --opt-args -instcombine-infinite-loop-threshold=8 But it doesn't look like bug 49122 and related bugs that I've diagnosed. There are no stores in the code. Something else is going on. |
reduced test for instcombine (but completes at iteration 9) |
No longer reproduces, presumably fixed by single-iteration InstCombine work. |
Extended Description
opt -mtriple=s390x-linux-gnu -mcpu=arch13 -o out.opt.ll -S -O3 -enable-gvn-memdep=false -simplifycfg-sink-common=false -unroll-count=10 crash0_aftercreduce.bc
The text was updated successfully, but these errors were encountered: