-
Notifications
You must be signed in to change notification settings - Fork 388
feat(ssa): Basic control dependent LICM #7660
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
Merged
Merged
Changes from all commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
d716761
initial cfg reversal, post order from cfg, and a post dom test
vezenovm 5945474
some cleanup
vezenovm 97573a0
cleanup tests:
vezenovm 023c1dd
cleanup
vezenovm 7bdcd9b
do not rev successors
vezenovm 045fe7a
remove extra trait constriant on cfg.successors
vezenovm 9e6edbf
revert cargo lock
vezenovm b8dc7fe
cargo lock
vezenovm ee5b6a1
go back to reversing successors for accurate dfs and fix normalizatio…
vezenovm 19d6ab8
cleanup
vezenovm 282e9be
control dependent LICM, only checking whether there are any condition…
vezenovm c9aeffb
revert test change
vezenovm dd13461
fixup do_not_hoist_unsafe_div test
vezenovm 296b5c9
block checking licm control dependence in acir
vezenovm d9b2b82
store map of predecessors which have been marked control dependent as…
vezenovm c53bb93
still block control dep checks on acir and add comments
vezenovm 30a9d00
move where current_block_control_dependent is set to false
vezenovm a9ec65d
current_block_control_dependent always true for acir
vezenovm 6bf5509
ugh bumping noir_bigcurve timeout
vezenovm 6bd86b4
more
vezenovm 2559924
rev order we check blocks between preheader and block that may be con…
vezenovm 836fe23
try to reduce bigcurve timeout
vezenovm d8636fb
use reverse dom frontiers to move from n^2 control dep check to n
vezenovm b37bf59
clippy
vezenovm 97838fc
just check dom frontiers and not control dep blocks map
vezenovm ce4e605
one more clippy
vezenovm 9dad2b6
big curve timeout back to 250
vezenovm 9045160
expand instructions that can be hoisted with same predicate in licm
vezenovm e57a2e9
fix licm unit tests
vezenovm 572936a
bump timeout
vezenovm 1a1c673
dom ffrontier tests
vezenovm 8c075e0
improve comments for dom frontiers
vezenovm 13db5aa
add doc comments regarding licm control dep and start checking contro…
vezenovm 8c9fbd4
fixup dom frontiers
vezenovm b7ce0c9
fixup licm tests
vezenovm 21f0954
remove duplicated test
vezenovm 4071359
carog lock
vezenovm 7e435a4
merge conflicts w/ master
vezenovm 8002eb0
unused imports in test
vezenovm 6a2836b
Merge branch 'master' into mv/control-dep-licm
vezenovm a471d46
do not need to redundantly reset whether the current block is control…
vezenovm 62559e5
merge conflict
vezenovm 67da55b
testing something
vezenovm 2937284
extra test for non control dep loop following control dep loop and it…
vezenovm 6aed20a
use hyper link in doc comments
vezenovm bb5bd14
Merge branch 'master' into mv/control-dep-licm
vezenovm 2d3f3d0
Merge branch 'master' into mv/control-dep-licm
vezenovm b472813
Update compiler/noirc_evaluator/src/ssa/opt/loop_invariant.rs
TomAFrench c8a9879
Update compiler/noirc_evaluator/src/ssa/opt/loop_invariant.rs
TomAFrench aa29984
Update compiler/noirc_evaluator/src/ssa/opt/loop_invariant.rs
TomAFrench 1789128
Merge branch 'master' into mv/control-dep-licm
vezenovm 312c3db
do not hoist constrain instructions with predicate when do not know w…
vezenovm 382b738
use hoisted not deduplicated in invariant pass
vezenovm 2cb0e81
account for empty and dynamic loops for constrain instructions when h…
vezenovm f129df1
nit naming
vezenovm b4834dc
improve comment
vezenovm 906a78d
imrpove test comment
vezenovm 576c8cb
one more test comment improvement
vezenovm 0fb899f
Merge branch 'master' into mv/control-dep-licm
vezenovm 52c1d85
chore: Allow control dependent LICM in ACIR (#7700)
vezenovm 305f5e2
Merge branch 'master' into mv/control-dep-licm
vezenovm File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.