Commit 6a9ea35
feat: add as_slice builtin function, add execution test (#4523)
# Description
## Problem\*
Expected to resolve slowdown in
#4504
## Summary\*
Adds builtin function for `as_slice`, allowing it to be much more
efficient (`O(1)` instead of `O(n)`)
## Additional Context
## Documentation\*
Check one:
- [x] No documentation needed.
- [ ] Documentation included in this PR.
- [ ] **[Exceptional Case]** Documentation to be submitted in a separate
PR.
# PR Checklist\*
- [x] I have tested the changes locally.
- [x] I have formatted the changes with [Prettier](https://prettier.io/)
and/or `cargo fmt` on default settings.
---------
Co-authored-by: vezenovm <[email protected]>1 parent 414194c commit 6a9ea35
File tree
11 files changed
+181
-28
lines changed- compiler/noirc_evaluator/src
- brillig/brillig_gen
- ssa
- acir_gen
- ir
- instruction
- noir_stdlib/src
- test_programs/execution_success
- array_to_slice
- src
- brillig_array_to_slice
- src
11 files changed
+181
-28
lines changedLines changed: 45 additions & 18 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
453 | 453 | | |
454 | 454 | | |
455 | 455 | | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
456 | 479 | | |
457 | 480 | | |
458 | 481 | | |
| |||
612 | 635 | | |
613 | 636 | | |
614 | 637 | | |
615 | | - | |
616 | | - | |
| 638 | + | |
617 | 639 | | |
618 | 640 | | |
619 | | - | |
620 | | - | |
| 641 | + | |
621 | 642 | | |
| 643 | + | |
622 | 644 | | |
623 | 645 | | |
624 | 646 | | |
| |||
806 | 828 | | |
807 | 829 | | |
808 | 830 | | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
809 | 834 | | |
810 | 835 | | |
811 | 836 | | |
812 | 837 | | |
813 | | - | |
814 | | - | |
815 | | - | |
| 838 | + | |
| 839 | + | |
816 | 840 | | |
817 | 841 | | |
818 | 842 | | |
819 | | - | |
| 843 | + | |
820 | 844 | | |
821 | 845 | | |
822 | 846 | | |
823 | 847 | | |
824 | 848 | | |
825 | | - | |
| 849 | + | |
826 | 850 | | |
827 | 851 | | |
828 | 852 | | |
| |||
836 | 860 | | |
837 | 861 | | |
838 | 862 | | |
839 | | - | |
| 863 | + | |
840 | 864 | | |
841 | 865 | | |
842 | 866 | | |
| |||
879 | 903 | | |
880 | 904 | | |
881 | 905 | | |
882 | | - | |
| 906 | + | |
883 | 907 | | |
884 | 908 | | |
885 | | - | |
886 | | - | |
887 | | - | |
888 | | - | |
889 | | - | |
890 | | - | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
| 916 | + | |
891 | 917 | | |
892 | | - | |
893 | 918 | | |
| 919 | + | |
894 | 920 | | |
895 | 921 | | |
896 | 922 | | |
| |||
1319 | 1345 | | |
1320 | 1346 | | |
1321 | 1347 | | |
| 1348 | + | |
1322 | 1349 | | |
1323 | 1350 | | |
1324 | 1351 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1025 | 1025 | | |
1026 | 1026 | | |
1027 | 1027 | | |
1028 | | - | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
1029 | 1035 | | |
1030 | 1036 | | |
1031 | 1037 | | |
| |||
1246 | 1252 | | |
1247 | 1253 | | |
1248 | 1254 | | |
1249 | | - | |
| 1255 | + | |
| 1256 | + | |
1250 | 1257 | | |
1251 | 1258 | | |
1252 | 1259 | | |
| |||
1663 | 1670 | | |
1664 | 1671 | | |
1665 | 1672 | | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
| 1682 | + | |
| 1683 | + | |
| 1684 | + | |
| 1685 | + | |
| 1686 | + | |
| 1687 | + | |
| 1688 | + | |
| 1689 | + | |
| 1690 | + | |
| 1691 | + | |
| 1692 | + | |
| 1693 | + | |
| 1694 | + | |
| 1695 | + | |
| 1696 | + | |
| 1697 | + | |
| 1698 | + | |
| 1699 | + | |
| 1700 | + | |
| 1701 | + | |
| 1702 | + | |
| 1703 | + | |
| 1704 | + | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
| 1710 | + | |
| 1711 | + | |
| 1712 | + | |
| 1713 | + | |
| 1714 | + | |
| 1715 | + | |
1666 | 1716 | | |
1667 | 1717 | | |
1668 | 1718 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
| |||
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
| 61 | + | |
60 | 62 | | |
61 | 63 | | |
62 | 64 | | |
| |||
89 | 91 | | |
90 | 92 | | |
91 | 93 | | |
| 94 | + | |
92 | 95 | | |
93 | 96 | | |
94 | 97 | | |
| |||
109 | 112 | | |
110 | 113 | | |
111 | 114 | | |
| 115 | + | |
112 | 116 | | |
113 | 117 | | |
114 | 118 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
87 | 97 | | |
88 | 98 | | |
89 | 99 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
| 55 | + | |
| 56 | + | |
63 | 57 | | |
64 | 58 | | |
65 | 59 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
Lines changed: 33 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
0 commit comments