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

Mark more operations as side-effectful to enable canonicalizer pass in CIR #542

Open
gitoleg opened this issue Apr 12, 2024 · 0 comments
Open

Comments

@gitoleg
Copy link
Collaborator

gitoleg commented Apr 12, 2024

The idea to use the canonicalizer pass that seems too aggressively removes unused instructions, but in general any DCE like pass may eliminate side-effect free instructions once they are not used.

Another problem with the canonicalizer pass that it extensively use such MLIR feature as basic blocks with arguments, which is awesome! But at the same time it leads to errors like branch has 0 operands for successor #0 but target block has 1. I believe the bug is on the llvm dialect / MLIR side, so one need to check CIR with some large code base before adding this pass into pipeline.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant