-
Notifications
You must be signed in to change notification settings - Fork 580
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
Hoist into global pass is producing different IRs on different runs of the same IR. #17500
Comments
Both the IRs are correct; it's the implementation of how topological sort works. |
@stellaraccident Any thoughts? |
In general we want the compiler to be deterministic (especially with threading disabled). Were you able to find where in the code the nondeterminism is coming from? |
yeah and we definitely want output 2 - output 1 is silly |
Happening around this loop
|
What happened?
Output IR 1:
Output IR 2:
Output IR 1
successfully goes throughiree-compile
passes and outputs valid .vmfb, whereasOutput IR 2
doesn't.Steps to reproduce your issue
Example MLIR.
Run :
iree-opt -iree-util-hoist-into-globals above.mlir -mlir-disable-threading
Try 3-4 times to see different output IRs. The problem persists with
-mlir-disable-threading
.What component(s) does this issue relate to?
Compiler
Version information
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: