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

[analysis] Make it easier to implement a transfer function #6077

Merged
merged 1 commit into from
Nov 2, 2023

Conversation

tlively
Copy link
Member

@tlively tlively commented Nov 2, 2023

Combine the transfer and getDependents methods of a transfer function so
that a transfer function only has to implement transfer, which now returns a
range of basic blocks that may need to be re-analyzed.

To make it easier to implement the returned basic block range, change the
requirement so that it provides iterators to const BasicBlock* rather than
BasicBlock. This allows us to entirely remove cfg-impl.h.

Combine the `transfer` and `getDependents` methods of a transfer function so
that a transfer function only has to implement `transfer`, which now returns a
range of basic blocks that may need to be re-analyzed.

To make it easier to implement the returned basic block range, change the
requirement so that it provides iterators to `const BasicBlock*` rather than
`BasicBlock`. This allows us to entirely remove cfg-impl.h.
@tlively tlively requested review from ashleynh and kripken November 2, 2023 18:49
@tlively
Copy link
Member Author

tlively commented Nov 2, 2023

Current dependencies on/for this PR:

This stack of pull requests is managed by Graphite.

@tlively tlively merged commit 4fba26a into main Nov 2, 2023
14 checks passed
@tlively tlively deleted the simplify-txfn branch November 2, 2023 20:50
radekdoulik pushed a commit to dotnet/binaryen that referenced this pull request Jul 12, 2024
…ly#6077)

Combine the `transfer` and `getDependents` methods of a transfer function so
that a transfer function only has to implement `transfer`, which now returns a
range of basic blocks that may need to be re-analyzed.

To make it easier to implement the returned basic block range, change the
requirement so that it provides iterators to `const BasicBlock*` rather than
`BasicBlock`. This allows us to entirely remove cfg-impl.h.
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

Successfully merging this pull request may close these issues.

2 participants