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

Simplify ControlFlowGraph.Build. #172

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

mykolav
Copy link

@mykolav mykolav commented Jan 6, 2021

By definition, only the last instruction of a basic block can branch.
As a result, when building the control flow graph, there is no need to inspect every instruction of a basic block.

And a label can be located only at the start of a basic block.
As a result, there is no need to check whether every instruction is of type BoundLabelStatement.

Lastly, the field _blockFromStatement is not used when building a control flow graph. Let's remove it?

By definition, only the last instruction of a basic block can branch.
As a result, when building the control flow graph,
there is no need to inspect every instruction of a basic block.
By definition, a label can be located only at the start of a basic block.
As a result, when building the control flow graph,
there is no need to check whether every instruction is of type `BoundLabelStatement`.
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.

1 participant