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: use RAM/ROM opcode when supported by the backend #1282

Merged
merged 57 commits into from
Jun 14, 2023
Merged
Changes from 1 commit
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
bcb631d
assign a VM per array
guipublic Feb 13, 2023
4668c72
Merge branch 'master' into gd/dynamic_array4
guipublic Feb 13, 2023
520c2f9
cargo format
guipublic Feb 13, 2023
9764650
Code review
guipublic Feb 14, 2023
50e7d57
code review
guipublic Feb 14, 2023
6dbe6f6
Merge branch 'master' into gd/dynamic_array5
guipublic Feb 14, 2023
528051b
Merge branch 'master' into gd/dynamic_array5
guipublic Feb 20, 2023
8f8d0c5
enable dynamic arrays
guipublic Feb 21, 2023
b01a92c
Merge branch 'master' into gd/dynamic_array5
guipublic Feb 21, 2023
2d51e6f
use trace index as counter
guipublic Feb 21, 2023
cb43e94
restore bad commit
guipublic Feb 21, 2023
c5a0bf9
restore bad commit
guipublic Feb 21, 2023
327fe57
restore bad commit
guipublic Feb 21, 2023
2aa2fb5
Code review
guipublic Feb 22, 2023
55afff4
Code review
guipublic Feb 23, 2023
e6eface
Merge branch 'master' into gd/dynamic_array5
guipublic Feb 23, 2023
c23cefb
Merge branch 'master' into gd/dynamic_array5
guipublic Feb 23, 2023
a027e74
Merge branch 'master' into gd/dynamic_array5
guipublic Feb 24, 2023
af17ec6
Code review
guipublic Feb 28, 2023
36ca66c
Merge branch 'master' into gd/dynamic_array5
guipublic Feb 28, 2023
0c1bc4e
MemAddress
guipublic Feb 28, 2023
1e3861f
Merge branch 'master' into gd/dynamic_array5
guipublic Mar 10, 2023
352b447
Merge branch 'master' into gd/dynamic_array5
guipublic Mar 10, 2023
966b557
merge from master
guipublic Mar 10, 2023
ff90d69
Merge branch 'master' into gd/dynamic_array5
guipublic Mar 10, 2023
cb93f6e
Remove ilog2 because it is tagged as unstable
guipublic Mar 10, 2023
9002218
Merge branch 'master' into gd/dynamic_array5
guipublic Mar 14, 2023
c79e9dc
clippy
guipublic Mar 14, 2023
1aa52fe
*WIP* handle block opcode
guipublic Mar 16, 2023
713ebc3
**WIP** support RAM/ROM/BLOCK opcodes
guipublic Mar 21, 2023
4c29ec6
Merge branch 'master' into gd/dynamic_array9
guipublic Mar 22, 2023
a8e4aef
Merge branch 'master' into gd/dynamic_array9
guipublic May 3, 2023
9830b47
fikx the build after merge
guipublic May 3, 2023
78da427
clean-up
guipublic May 3, 2023
be1cf68
missed this one
guipublic May 3, 2023
0e1d447
Merge branch 'master' into gd/dynamic_array9
guipublic May 3, 2023
f9c2db8
code review
guipublic May 3, 2023
ad51715
code review
guipublic May 3, 2023
d58de5c
Fix issue with array_len
guipublic May 4, 2023
99bbc7a
Merge branch 'master' into gd/dynamic_array9
guipublic May 5, 2023
899df76
clarify comment
guipublic May 15, 2023
dab6bb3
code review
guipublic May 15, 2023
7be88eb
code review
guipublic May 15, 2023
075110d
Code review
guipublic May 15, 2023
6ac418a
Hardcode BB support for memory gates
guipublic May 25, 2023
dc0cf8f
Fix clippy error
guipublic May 25, 2023
3337cb5
Code review
guipublic May 25, 2023
ab6a3f3
Merge branch 'master' into gd/dynamic_array9
guipublic May 25, 2023
d887087
Check for array length before adding a memory gate
guipublic May 26, 2023
6cd3a70
avoid empty memory constraints
guipublic May 30, 2023
863f1fd
Merge branch 'master' into gd/dynamic_array9
guipublic Jun 2, 2023
9be7dc1
Merge branch 'master' into gd/dynamic_array9
guipublic Jun 2, 2023
837798a
Use correct trace length
guipublic Jun 2, 2023
150fe55
Merge branch 'master' into gd/dynamic_array9
guipublic Jun 12, 2023
91e376a
Create a witness for memory operations
guipublic Jun 12, 2023
01edbc3
use barretenberg with dynamic array fixes
guipublic Jun 13, 2023
b9d35b1
Update to last commit of bb noir branch, through flake.lock
guipublic Jun 14, 2023
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
Prev Previous commit
Next Next commit
Remove ilog2 because it is tagged as unstable
guipublic committed Mar 10, 2023
commit cb93f6e8cbaf6c364ffc3ec2f0ed4639865f660b
11 changes: 6 additions & 5 deletions crates/noirc_evaluator/src/ssa/acir_gen/acir_mem.rs
Original file line number Diff line number Diff line change
@@ -194,12 +194,13 @@ impl AcirMem {
}

// number of bits required to store the input
fn bits(t: usize) -> u32 {
if t > 0 {
t.ilog2() + 1
} else {
1
fn bits(mut t: usize) -> u32 {
let mut r = 0;
while t != 0 {
t >>= 1;
r += 1;
}
r
}

// Loads the associated `InternalVar` for the element