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

feat(hugr-passes)!: Rewrite constant_fold_pass using dataflow framework #1603

Merged
merged 305 commits into from
Dec 11, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
305 commits
Select commit Hold shift + click to select a range
05280a8
By similar logic, RIP meet_mut_value_handle; assert_(in)variants now …
acl-cqc Sep 11, 2024
96b0856
Rename TestSum(,Leaf)Type::assert_{invariants=>valid}
acl-cqc Sep 13, 2024
f21e278
Rename assert_(=>in)variants (i.e. to match); call in (join/meet)_mut…
acl-cqc Sep 13, 2024
ce53b1c
test unpacking constant tuple
acl-cqc Sep 13, 2024
13f29a9
try_into_value returns new enum ValueOrSum; TryFrom<ValueOrSum> repla…
acl-cqc Sep 12, 2024
9f1a5cd
Hide ValueRow (and move into datalog.rs)
acl-cqc Oct 2, 2024
15e642e
Remove PartialSum::unit()
acl-cqc Oct 2, 2024
514af13
PartialValue is private struct containing PVEnum (with ::Sum not ::Pa…
acl-cqc Oct 2, 2024
5d86f46
variant => new_variant, unit => new_unit
acl-cqc Oct 2, 2024
d8c8140
Simplify PartialOrd for PartialSum, keys(1,2) support cmp
acl-cqc Oct 2, 2024
1315685
PartialSum::variant_values does not take `len` (PartialValue:: still …
acl-cqc Oct 2, 2024
2aaaeb9
clippy
acl-cqc Oct 2, 2024
5619761
Machine::tail_loop_terminates + case_reachable return Option not panic
acl-cqc Oct 2, 2024
f3c175c
Machine::read_out_wire_value fails with ConstTypeError if there was one
acl-cqc Oct 2, 2024
aad2ef0
PartialValue::try_(join|meet)_mut are pub, don't mutate upon failure
acl-cqc Oct 2, 2024
0a8cc12
Remove some commented-out code
acl-cqc Oct 2, 2024
bfcd0a6
Expose PartialSum
acl-cqc Oct 2, 2024
248fb23
dataflow has docs! (enforced)
acl-cqc Oct 2, 2024
5b8654e
clippy
acl-cqc Oct 2, 2024
c40e718
Move PartialValue::join into impl Lattice for
acl-cqc Oct 7, 2024
8732a63
Machine::read_out_wire_value => PartialValue::try_into_wire_value
acl-cqc Oct 7, 2024
346187d
read_out_wire_partial_value => read_out_wire
acl-cqc Oct 7, 2024
a139f9e
Remove ValueOrSum (and add Sum) via complex parametrization of try_in…
acl-cqc Oct 7, 2024
7f2a91a
Datalog works on any AbstractValue; impl'd by PartialValue for a Base…
acl-cqc Oct 7, 2024
1680829
PartialValue proptests: rm TestSumLeafType, replace ValueHandle with …
acl-cqc Oct 8, 2024
2a57a15
tests: Rename type_check -> check_value
acl-cqc Oct 8, 2024
fcfcb6b
tidies
acl-cqc Oct 8, 2024
dcaa928
Add a couple more proptests, and a TEMPORARY FIX for a BUG pending be…
acl-cqc Oct 8, 2024
bcacbcc
Remove redundant test
acl-cqc Oct 8, 2024
5192ed8
Refactor TailLoopTermination::from_control_value
acl-cqc Oct 8, 2024
e21bbd7
pub TailLoopTermination, rename members, doc
acl-cqc Oct 8, 2024
22e0192
Test tidies (and some ALAN wtf? comments)
acl-cqc Oct 8, 2024
cae5e4f
Use Tag
acl-cqc Oct 8, 2024
3014827
Add TestContext (no interpret_leaf_op), propolutate, avoid HugrValueC…
acl-cqc Oct 8, 2024
64b9bb7
Avoid propolutate by interpreting LoadConstant (only)
acl-cqc Oct 8, 2024
8bc5e12
Revert "Avoid propolutate by interpreting LoadConstant (only)"
acl-cqc Oct 8, 2024
a3a6213
tiny const_fold2 doc tweaks
acl-cqc Oct 8, 2024
a96ab20
(TEMP) remove const_fold2 module
acl-cqc Oct 8, 2024
3051183
Merge remote-tracking branch 'origin/main' into acl/const_fold2
acl-cqc Oct 8, 2024
777694c
(TEMP) Rm total_context
acl-cqc Oct 8, 2024
9e47b7f
Revert "(TEMP) Rm total_context"
acl-cqc Oct 8, 2024
668c030
Revert "(TEMP) remove const_fold2 module"
acl-cqc Oct 8, 2024
5a16e6b
clippy
acl-cqc Oct 8, 2024
4f31178
Better fix for PartialSum::try_meet_mut
acl-cqc Oct 9, 2024
2b523c9
true_or_false uses pv_true+pv_false
acl-cqc Oct 9, 2024
1d2cb9b
Update to ascent 0.7.0, drop fn join/meet as these are now trait-default
acl-cqc Oct 9, 2024
ee91bbe
Cargo.toml: oops, remove obsolete comment
acl-cqc Oct 9, 2024
e67051f
ValueRow cleanups (remove misleading 'pub's)
acl-cqc Oct 9, 2024
94cee55
Refactor: rm tail_node, clone earlier in ValueRow::unpack_first, rm V…
acl-cqc Oct 9, 2024
5cf5ff0
Add datalog for CFG
acl-cqc Oct 9, 2024
7381087
refactor: follow unpack_first with enumerate
acl-cqc Oct 9, 2024
60e33db
Remove comments from test_tail_loop_(iterates_twice->two_iters)
acl-cqc Oct 9, 2024
ef4f433
Add a test of tail loop around conditional
acl-cqc Oct 9, 2024
5935489
improve that test - loop input is a sum and the variants have differe…
acl-cqc Oct 9, 2024
b198681
clippy/nth
acl-cqc Oct 10, 2024
ed30f80
revert accidental changes to hugr-core/src/types.rs (how?!)
acl-cqc Oct 10, 2024
3f7808a
Cleanup conditional, cfg, unpack_first
acl-cqc Oct 10, 2024
436b635
Complex CFG that does a not-XOR...but analysis generally says "true o…
acl-cqc Oct 9, 2024
0374d13
Propagate case results to conditional output only if case reached; so…
acl-cqc Oct 10, 2024
6a2dd9e
More test cases
acl-cqc Oct 10, 2024
a75fee9
refactor as fixture
acl-cqc Oct 10, 2024
151e571
clippy
acl-cqc Oct 10, 2024
e15b04d
Revert "Datalog works on any AbstractValue; impl'd by PartialValue fo…
acl-cqc Oct 14, 2024
ea10ed3
Merge branch 'acl/const_fold2' (early part) into acl/const_fold3
acl-cqc Oct 14, 2024
949ef70
Update const_fold2/value_handle.rs, dataflow/total_context.rs
acl-cqc Oct 14, 2024
dc08f0d
(Re-)remove PVEnum
acl-cqc Oct 14, 2024
436dcd2
Remove as_sum. AbstractValues are elements not sums
acl-cqc Oct 14, 2024
e817bbe
clippy
acl-cqc Oct 14, 2024
b06cfad
Refactor: remove 'fn input_count'
acl-cqc Oct 14, 2024
fd717be
Try to fix interpret_leaf_op: cannot use Bottom for output! But ascen…
acl-cqc Oct 14, 2024
9b17439
interpret_leaf_op for ExtensionOps only; LoadConstant via value_from_…
acl-cqc Oct 14, 2024
1d714c8
Merge branch 'acl/const_fold2' (early part) into acl/const_fold3
acl-cqc Oct 14, 2024
1f41056
Odd updates to total_context.rs - REVERT ??
acl-cqc Oct 14, 2024
846d1ee
Correct comment BaseValue -> AbstractValue
acl-cqc Oct 15, 2024
328e7f8
test Hugr now returns (XOR, AND) of two inputs, one case wrongly prod…
acl-cqc Oct 15, 2024
da3c05c
BB reachability, fixes!
acl-cqc Oct 10, 2024
6930ad4
Test cases with true_or_false/top, standardize naming (->test_)condit…
acl-cqc Oct 15, 2024
0a3e281
Try to common up by using case_reachable in conditional outputs - 6 t…
acl-cqc Oct 11, 2024
b1e0bfd
Make case_reachable a relation (dropping bool), not lattice - fixes t…
acl-cqc Oct 11, 2024
355e814
Call (+test)
acl-cqc Oct 15, 2024
22f3ce8
propolutate_out_wires => prepopulate and set in wires in run
acl-cqc Oct 15, 2024
68b1d48
Rm/inline value_inputs/value_outputs, use UnpackTuple, comments
acl-cqc Oct 15, 2024
77a5fa3
Merge remote-tracking branch 'origin/main' into acl/const_fold2
acl-cqc Oct 15, 2024
2cc62f0
clippy
acl-cqc Oct 15, 2024
8254771
docs
acl-cqc Oct 15, 2024
7e81b15
Separate AnalysisResults from Machine, use context.exactly_one() not …
acl-cqc Oct 21, 2024
34e82ed
Move try_into_wire_value => AnalysisResults.try_read_wire_value
acl-cqc Oct 21, 2024
015707f
doc fixes and fix comment
acl-cqc Oct 21, 2024
ff39f7d
Try to make clippy happy
acl-cqc Oct 21, 2024
0b71236
Merge branch 'acl/const_fold2' into acl/const_fold3
acl-cqc Oct 21, 2024
502d4a2
Fix/make-compile total_context.rs
acl-cqc Oct 21, 2024
25c4a82
total_context: return PartialValue, as need some repr of Sum
acl-cqc Oct 21, 2024
e7f6ad1
const_fold2: disable missing-docs warning
acl-cqc Oct 21, 2024
8a8db96
fix context, value_handle
acl-cqc Oct 21, 2024
ada7ee1
Use ascent_run to drop context from all the relations. Lots cleanup t…
acl-cqc Oct 22, 2024
7c02d41
DFContext does not Deref, pass Hugr separately
acl-cqc Oct 22, 2024
3d4f016
Massively reduce scope of clippy-allow to inside run_datalog
acl-cqc Oct 22, 2024
8bab4d5
Move ValueRow into own file
acl-cqc Oct 22, 2024
3eccadf
Move Machine into datalog.rs, pub(super) fields in AnalysisResults, r…
acl-cqc Oct 22, 2024
0f4fa52
Move machine.rs to results.rs
acl-cqc Oct 22, 2024
caa8aca
Remove enum IO, replace io_node -> input_child/output_child
acl-cqc Oct 22, 2024
e7f61fc
move docs
acl-cqc Oct 22, 2024
811802c
Remove/inline/dedup dfb_block
acl-cqc Oct 22, 2024
3713ea7
relation doc
acl-cqc Oct 22, 2024
d317809
datalog docs (each relation), move _cfg_succ_dest
acl-cqc Oct 22, 2024
69c3270
comment, use exactly_one
acl-cqc Oct 22, 2024
dc56686
Allow to handle LoadFunction
acl-cqc Oct 23, 2024
1810198
Merge branch 'acl/const_fold2' into acl/const_fold3
acl-cqc Oct 23, 2024
58f707a
TotalContext: don't get_optype, use the ExtensionOp via DataflowOpTrait
acl-cqc Oct 23, 2024
0566481
TotalContext: do not require Eq, Hash, etc.
acl-cqc Oct 23, 2024
a497723
HugrValueContext -> ConstFoldContext, empty, no need for Eq/Hash/etc.
acl-cqc Oct 23, 2024
33a8592
doc
acl-cqc Oct 23, 2024
b153ada
Separate out ConstLoader
acl-cqc Oct 23, 2024
5052ac0
value_from_(custom_const=>opaque), taking &OpaqueValue
acl-cqc Oct 23, 2024
8b83284
Merge branch 'acl/const_fold2' into acl/const_fold3
acl-cqc Oct 23, 2024
d14cc69
TotalContext requires ConstLoader
acl-cqc Oct 23, 2024
56b10f5
WIP implement ConstLoader, munge ValueHandle construction
acl-cqc Oct 23, 2024
dff52bd
Restructure ValueHandle: no keys for HashedConsts, add functions.
acl-cqc Oct 23, 2024
af651e0
(TEMP / to undo later?) Remove ValueHandle::Function
acl-cqc Oct 25, 2024
29d7e03
Tidy / fix tests
acl-cqc Oct 25, 2024
8b5f6b0
note about keying by outgoingport
acl-cqc Oct 26, 2024
9f9a218
(?to revert?) Handle some LoadFunction's by reading subgraphs from Hugr
acl-cqc Oct 25, 2024
ad0c6f2
Recombine DFContext with Hugr i.e. reinstate Deref constraint
acl-cqc Oct 28, 2024
16a18f4
Replace Deref with HugrView, trivially obtainable by implementing AsRef
acl-cqc Oct 28, 2024
99074e1
Merge branch 'acl/const_fold2' into HEAD
acl-cqc Oct 28, 2024
8058dab
Implement pass via MutRefCell (TODO: Combine with ConstFoldContext)
acl-cqc Oct 28, 2024
a766ed9
Combine ConstFoldContext with MutRefCell, context.rs -> test.rs
acl-cqc Oct 28, 2024
a0f2b2c
ValueRow Debug; ops default to PartialValue::Top less aggressively
acl-cqc Oct 28, 2024
53447fe
Reorder, make look more like original const_fold
acl-cqc Oct 28, 2024
e45a620
copy all old const_fold tests over
acl-cqc Oct 28, 2024
e64f519
tests: Fix test_add
acl-cqc Oct 28, 2024
58a1df2
fix: Improve find_needed_nodes
acl-cqc Oct 28, 2024
6687656
fix: Connect constant to use
acl-cqc Oct 28, 2024
c7ba482
Don't break LoadConstant out_wires; skip unnecessary cloning
acl-cqc Oct 28, 2024
294c8a7
Merge branch 'acl/const_fold2' into HEAD
acl-cqc Oct 28, 2024
7484fb9
Remove old const_fold and rename over
acl-cqc Oct 28, 2024
55f9700
Revert accidental changes to views.rs
acl-cqc Oct 28, 2024
494d849
Hide AnalysisResults::hugr via accessor,destructor,two-step transform
acl-cqc Oct 29, 2024
25f2bb7
Separate out DFContext::hugr(&self) -> &impl HugrView
acl-cqc Oct 29, 2024
522d159
Revert "Separate out DFContext::hugr(&self) -> &impl HugrView"
acl-cqc Oct 29, 2024
ebebb18
RIP TotalContext
acl-cqc Oct 29, 2024
46944f8
Two-stage transform means we don't need to extract HugrView from results
acl-cqc Oct 29, 2024
0b005e4
Go back to Deref, w/ type DFContext::View.
acl-cqc Oct 29, 2024
c4224fe
clippy+doc
acl-cqc Oct 29, 2024
87eb700
And back to Deref, should allow using a region view not the whole Hugr
acl-cqc Oct 29, 2024
1bb0756
Merge branch 'acl/const_fold2' into acl/const_fold3
acl-cqc Oct 29, 2024
a49221b
fix doclink
acl-cqc Oct 30, 2024
71ea55d
PartialSum::try_into_value also uses Option<...> as error-type
acl-cqc Oct 30, 2024
ea9db2e
Proper errors from try_into_value, Option<Extr...> from try_read_wire…
acl-cqc Oct 30, 2024
df31523
fmt
acl-cqc Oct 30, 2024
124bad2
Merge branch 'acl/const_fold2' into acl/const_fold3
acl-cqc Oct 30, 2024
e78c006
...and fix by using try_into_value(!)...
acl-cqc Oct 30, 2024
a490874
Add test running on region
acl-cqc Oct 30, 2024
3af39aa
fix: provide PartialValue::Top for unspecified Hugr inputs
acl-cqc Oct 30, 2024
dc15999
try_into_value allows TryFrom by giving ExtractValueError *2* errorty…
acl-cqc Oct 30, 2024
2d81264
improve docs
acl-cqc Oct 30, 2024
b61d252
Parametrize Machine::try_read_wire_value the same way
acl-cqc Oct 30, 2024
8cac194
tweaks
acl-cqc Oct 30, 2024
19ec62e
v1 test...fails: tuple can't be removed, nothing removed, but at leas…
acl-cqc Oct 30, 2024
72a3034
v2, discard unknown in middle
acl-cqc Oct 30, 2024
a339cb0
docs
acl-cqc Oct 30, 2024
b871f61
cfg
acl-cqc Oct 30, 2024
2c615c6
drop unused From<OpaqueValue> for Box<dyn-CustomConst>
acl-cqc Oct 30, 2024
514efc1
Merge remote-tracking branch 'origin/acl/const_fold2' into acl/const_…
acl-cqc Oct 31, 2024
5c880e4
...and patch up try_into_wire_value's with type annotations
acl-cqc Oct 31, 2024
fb3816e
Massively simplify xor_and_cfg, no need for conditionals
acl-cqc Nov 4, 2024
19571f6
Use tru/fals constants
acl-cqc Nov 4, 2024
ec2cc78
Add recursive might_diverge, assume true for all CFGs
acl-cqc Nov 4, 2024
6ba0b25
Clarify "non-exhaustive" in comment
acl-cqc Nov 4, 2024
e681602
ConstFoldContext needs only & not &mut
acl-cqc Nov 4, 2024
fc44ded
Test constant folding a TailLoop (cannot remove loop)
acl-cqc Nov 4, 2024
ae9cb7c
Add pub fn allow_increase_termination, test allows removing tail-loop
acl-cqc Nov 4, 2024
3a43ae1
Hide allow_increase_termination field now we have method
acl-cqc Nov 4, 2024
f0e84ac
Allow adding inputs (pub traverse_value), fix needing port-num to dis…
acl-cqc Nov 4, 2024
02262d6
traverse_value => partial_from_const, fix docs
acl-cqc Nov 4, 2024
81b8179
fixup! Allow adding inputs
acl-cqc Nov 4, 2024
a038608
Expand test by providing always-break input, refactor/split
acl-cqc Nov 4, 2024
d90190b
refactor: assert_fully_folded takes HugrView
acl-cqc Nov 5, 2024
8f89c88
refactor: find_needed_nodes works out root itself
acl-cqc Nov 5, 2024
a6bb507
CFG test (failing atm)
acl-cqc Nov 5, 2024
3e05639
fix/change-policy: don't break edges from root input
acl-cqc Nov 5, 2024
5b2a2c9
Fix: don't follow CFG edges, but don't panic either
acl-cqc Nov 5, 2024
dcf76a6
clippy, moving might_diverge outside ConstFoldPass+parametrize
acl-cqc Nov 5, 2024
92488fe
Improve const_fold module doc
acl-cqc Nov 5, 2024
69d0f5e
try_into_value: reorder type params, separate out where clause
acl-cqc Nov 8, 2024
cb60b5b
Merge remote-tracking branch 'origin/main' into HEAD
acl-cqc Nov 8, 2024
2624ee8
We don't actually use portgraph, nor downcast-rs
acl-cqc Nov 8, 2024
ec526e8
Import RandomState from std::collections::hash_map for rust 1.75
acl-cqc Nov 8, 2024
5650ee4
Use BREAK_TAG/CONTINUE_TAG
acl-cqc Nov 8, 2024
da2981c
No, use make_break/make_continue for easy cases
acl-cqc Nov 8, 2024
0b68454
Refactor bb_reachable using then
acl-cqc Nov 14, 2024
4916e9d
ConstLocation with Box - a lot of cloning
acl-cqc Nov 14, 2024
a4a64c0
No - Revert - just make ConstLocation store a reference
acl-cqc Nov 14, 2024
bc39b76
{value=>partial}_from_const, takes ConstLoc, inline traverse_value
acl-cqc Nov 14, 2024
92669db
Make ConstLocation Copy
acl-cqc Nov 14, 2024
33c8607
ConstLocation is From<Node>; move partial_from_const out to toplev, n…
acl-cqc Nov 14, 2024
23d7aa6
Merge remote-tracking branch 'origin/acl/const_fold2' into HEAD
acl-cqc Nov 14, 2024
97496f9
Merge commit 'origin/main^' into HEAD
acl-cqc Nov 18, 2024
03de42e
Merge remote-tracking branch 'origin/acl/const_fold2' into acl/const_…
acl-cqc Nov 18, 2024
8b76135
Generalize run to deal with Module(use main), and others; add run_lib
acl-cqc Nov 18, 2024
c18cbea
Shorten the got-all-required-inputs check (build got_inputs)
acl-cqc Nov 18, 2024
1b64b4b
Shorten further...not as easy to follow
acl-cqc Nov 18, 2024
39b8df1
Revert "Shorten further...not as easy to follow"
acl-cqc Nov 19, 2024
a5d987c
doc fixes, rename to run_library
acl-cqc Nov 19, 2024
3e718fd
Add PartialValue::contains_bottom, also row_contains_bottom
acl-cqc Nov 19, 2024
497686a
Don't call interpret_leaf_op if row_contains_bottom
acl-cqc Nov 19, 2024
e34c7be
Use row_contains_bottom for CFG+DFG, and augment unpack_first(=>_no_b…
acl-cqc Nov 19, 2024
69a69f3
run_library => publish_function
acl-cqc Nov 19, 2024
57ac432
Drop publish_function, pub prepopulate_wire
acl-cqc Nov 19, 2024
f9a9f24
ValueRow::single_known => singleton, set
acl-cqc Nov 19, 2024
9cc368d
try_join / try_meet return extra bool
acl-cqc Nov 19, 2024
a61fbdb
shorten/common-up meet_mut + join_mut
acl-cqc Nov 19, 2024
24cce0e
try_into_value: change bounds TryFrom -> TryInto; rename =>try_into_sum
acl-cqc Nov 19, 2024
a590766
Avoid a clone in try_into_sum
acl-cqc Nov 19, 2024
2b2c461
Optimize+shorten join_mut / meet_mut via std::mem::swap
acl-cqc Nov 19, 2024
124718d
refactor join_mut / meet_mut again, common-up assignment
acl-cqc Nov 19, 2024
93b1f4d
clippy
acl-cqc Nov 19, 2024
731a3b0
doclinks
acl-cqc Nov 19, 2024
e11b3ce
Merge remote-tracking branch 'origin/acl/const_fold2' into acl/const_…
acl-cqc Nov 19, 2024
5b51434
missing docs
acl-cqc Nov 19, 2024
7040e83
prepopulate_df_inputs
acl-cqc Nov 19, 2024
584327f
Revert "Use row_contains_bottom for CFG+DFG, and augment unpack_first…
acl-cqc Nov 20, 2024
1a56145
Merge remote-tracking branch 'origin/main' into HEAD
acl-cqc Nov 20, 2024
409f377
Fix FuncDefn::name, add test_module
acl-cqc Nov 20, 2024
39b754a
clippy
acl-cqc Nov 20, 2024
c076a2c
clippy test
acl-cqc Nov 21, 2024
efdf516
Merge remote-tracking branch 'origin/main' into HEAD
acl-cqc Nov 22, 2024
77b6739
try_into_{value=>concrete}
acl-cqc Nov 23, 2024
caa8882
try_read_wire_{value=>concrete}
acl-cqc Nov 23, 2024
c34bab7
Merge remote-tracking branch 'origin/main' into HEAD
acl-cqc Dec 4, 2024
d387cef
fix BOOL_T -> bool_t() and types needing extensions
acl-cqc Dec 4, 2024
df434e7
clippy
acl-cqc Dec 4, 2024
650cdfd
And separate DFContext from HugrView once again
acl-cqc Nov 26, 2024
071c7dd
Store HugrView (not DFContext) in Machine
acl-cqc Nov 26, 2024
c5bd7b0
Machine::run owns DFContext. Or &mut ?? (TODO update interpret_leaf_o…
acl-cqc Nov 26, 2024
eecdb22
interpret_leaf_op is &mut to allow impls that do caching etc.
acl-cqc Dec 4, 2024
bb9600e
Merge remote-tracking branch 'origin/main' into acl/const_fold2
acl-cqc Dec 4, 2024
26466db
Merge branch 'acl/const_fold2' into acl/const_fold3
acl-cqc Dec 4, 2024
79e98f2
Fix post-merge extension issues by using TEST_REG everywhere
acl-cqc Dec 4, 2024
30b860f
clippy
acl-cqc Dec 4, 2024
a4bbedd
Use 1.75-compatible RandomState
acl-cqc Dec 4, 2024
07b7d40
Ooops, fmt
acl-cqc Dec 4, 2024
f7fd1c7
ConstFoldPass back to ConstantFoldPass
acl-cqc Dec 4, 2024
8e121e0
reinstate ConstFoldError
doug-q Dec 9, 2024
bf347e4
Merge branch 'main' into acl/const_fold3
doug-q Dec 9, 2024
0d0b0d1
Update hugr-passes/src/const_fold.rs
doug-q Dec 10, 2024
0bd18e9
fixup
doug-q Dec 10, 2024
cac71ab
Merge branch 'main' of gh:CQCL-DEV/hugr into acl/const_fold3
doug-q Dec 11, 2024
8698921
ConstFoldError::Validation => ConstFoldError::ValidationError
doug-q Dec 11, 2024
54e3a8c
ConstFoldError non_exhaustive
doug-q Dec 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions hugr-passes/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ bench = false

[dependencies]
hugr-core = { path = "../hugr-core", version = "0.13.3" }
portgraph = { workspace = true }
ascent = { version = "0.7.0" }
itertools = { workspace = true }
lazy_static = { workspace = true }
Expand Down
Loading
Loading