-
Notifications
You must be signed in to change notification settings - Fork 7
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
WIP: Extend dataflow analysis to handle reachability #1672
base: main
Are you sure you want to change the base?
Conversation
* DFContext reinstate fn hugr(), drop AsRef requirement (fixes StackOverflow) * test_tail_loop_iterates_twice: use tail_loop_builder_exts, fix from #1332(?) * Fix only-one-DataflowContext asserts using Arc::ptr_eq
…text interprets load_constant
Hey there and thank you for opening this pull request! 👋 We require pull request titles to follow the Conventional Commits specification Your title should look like this. The scope field is optional.
If the PR includes a breaking change, mark it with an exclamation mark:
and include a "BREAKING CHANGE:" footer in the body of the pull request. Details:
|
Forwards analysis only, but parametrized over the abstract domain, hence intended to support various applications including constant folding and potentially devirtualization, intergraph-edge-insertion, etc. Much complexity is to do with "native" (irrespective of the underlying domain) treatment of Sum types necessary for proper understanding of control flow (e.g. conditionals, loops, CFGs). Generalization of reachability left to #1672 .
TODO:
panic
returns Bottom everywherepanic
or TailLoop's whose result isn't used - can containing DFG terminate? Suggests "DFG Output-node-inputs are not propagated to DFG-outputs if ANY node in the DFG has a Bottom output"