Skip to content
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

opt -jump-threading hangs #47706

Closed
mikaelholmen opened this issue Dec 2, 2020 · 3 comments
Closed

opt -jump-threading hangs #47706

mikaelholmen opened this issue Dec 2, 2020 · 3 comments
Labels
bugzilla Issues migrated from bugzilla

Comments

@mikaelholmen
Copy link
Collaborator

Bugzilla Link 48362
Resolution FIXED
Resolved on Dec 02, 2020 23:50
Version unspecified
OS Linux
Attachments bbi-50589_reduced.ll reproducer
CC @rotateright
Fixed by commit(s) 9d6d24c

Extended Description

Reproduce with:
opt -o - bbi-50589_reduced.ll -S -jump-threading

It doesn't seem to terminate.

This starts happening after 5486e00:

[InstSimplify] remove poison-unsafe insertelement of undef value

llvm/llvm-project#44826 :
llvm/llvm-project#44826 

SDAG has an identical transform to this, so there's little
chance of any real-world impact. OTOH, that means we are
effectively sweeping the bug out of sight because poison
exists in codegen too.
@rotateright
Copy link
Contributor

In the debugger, this is getting stuck in SimplifyExtractElementInst() -> llvm::findScalarElement().

@rotateright
Copy link
Contributor

I suspect that we could have hit this bug with a less-undef test case even before 5486e00.

I don't know much about jumpthreading, so I put in a lower-level exit in the analysis that was getting tripped up:
https://reviews.llvm.org/rG9d6d24c25056

@mikaelholmen
Copy link
Collaborator Author

Thanks!

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 10, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla
Projects
None yet
Development

No branches or pull requests

2 participants