-
Couldn't load subscription status.
- Fork 1.1k
Make the simplifier idempotent #8840
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
Conversation
|
A few more failures: |
Everywhere we something without remutating, we need to ensure we also return the ExprInfo that would have resulted from remutation Also, redid Simplify_EQ to not rely on Simplify_Sub. New rules are formally verified for infinite integers except for the ones with broadcast and ramps
… into simplify/idempotency
Also turn off the infinite loop in the test
|
For posterity I'll write more about what this PR does in its current state. Initially we thought this was just a matter of adding calls to mutate() around certain return paths instead of just returning them as-is. But to resolve the issue I had to do a few more things.
|
A bit of a hopeful title. Adds a fuzz test for the simplifier to check idempotency, which currently fails. This arose from trying to understand the simplifier and encountering a
simplify(simplify(...))in TrimNoOps.cpp.