Commit Graph

2159 Commits

Author SHA1 Message Date
Pranav Gaddamadugu
d26a5f693d DCE eliminates expr statements that are not function calls 2023-04-12 12:38:43 -07:00
d0cd
c55ec9894e
Merge pull request #2347 from AleoHQ/fix/issue-2346
[Fix] Fixes variable renaming for inlined functions.
2023-04-12 12:27:54 -07:00
d0cd
d039543c47
Merge pull request #2344 from AleoHQ/fix/issue-2343
[Fix] Fix parsing for negative `scalar`, `field`, and `group` literals.
2023-04-12 08:47:49 -07:00
Pranav Gaddamadugu
e460ce1c8e Support negative group literals 2023-04-11 10:44:26 -07:00
Pranav Gaddamadugu
0f8838c870 Fix bug 2023-04-11 10:11:08 -07:00
dependabot[bot]
5ea92392e5
Bump serde from 1.0.159 to 1.0.160
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.159 to 1.0.160.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.159...v1.0.160)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-11 10:59:01 +00:00
Pranav Gaddamadugu
b193d511ca Update test and regen expectations 2023-04-09 19:58:08 -07:00
Pranav Gaddamadugu
9181b23347 Fix parser 2023-04-09 19:53:29 -07:00
Pranav Gaddamadugu
fd22fb9ec4 Fix bug 2023-04-05 09:13:37 -07:00
Pranav Gaddamadugu
2b010b6992 Update snarkVM to 0.9.15, aleo to 0.3.6 2023-03-31 19:50:35 -07:00
d0cd
c74772cfac
Merge pull request #2328 from AleoHQ/fix/issue-2324
[Fix] Fixes unwrapping panic when unwrapping `lookup_struct` in `ProgramVisitor::visit_function`
2023-03-31 16:06:51 -07:00
d0cd
5cc6a06e2d
Merge pull request #2329 from AleoHQ/fix/issue-2325
[Fix] Panic: called Option::unwrap() on a Err value (Literal::Integer to Value)
2023-03-31 16:05:33 -07:00
d0cd
3aba61a1c8
Merge pull request #2332 from AleoHQ/dependabot/cargo/testnet3/tempfile-3.5.0
Bump tempfile from 3.4.0 to 3.5.0
2023-03-31 10:03:58 -07:00
d0cd
9934d329f9
Merge pull request #2330 from AleoHQ/dependabot/cargo/testnet3/serde-1.0.159
Bump serde from 1.0.158 to 1.0.159
2023-03-31 10:03:33 -07:00
Pranav Gaddamadugu
61cf227f58 Fmt 2023-03-31 10:02:33 -07:00
d0cd
8996002055
Merge pull request #2326 from AleoHQ/dependabot/cargo/testnet3/regex-1.7.3
Bump regex from 1.7.2 to 1.7.3
2023-03-31 10:00:50 -07:00
Pranav Gaddamadugu
2646b7b28b Fix bug 2023-03-31 09:58:25 -07:00
Pranav Gaddamadugu
e3ce9c785a Address feedback 2023-03-31 09:54:57 -07:00
dependabot[bot]
08c203103f
Bump tempfile from 3.4.0 to 3.5.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases)
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS)
- [Commits](https://github.com/Stebalien/tempfile/commits)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-29 11:00:43 +00:00
dependabot[bot]
c88dceb565
Bump serde from 1.0.158 to 1.0.159
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.158 to 1.0.159.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.158...v1.0.159)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-28 11:00:03 +00:00
Pranav Gaddamadugu
ee3e225f92 Fix bug 2023-03-27 10:09:12 -07:00
dependabot[bot]
bce4755dac
Bump regex from 1.7.2 to 1.7.3
Bumps [regex](https://github.com/rust-lang/regex) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.7.2...1.7.3)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 11:01:02 +00:00
Pranav Gaddamadugu
8adc6c76b8 Fmts and clippies 2023-03-26 23:18:03 -07:00
dependabot[bot]
ef2c730410
Bump regex from 1.7.1 to 1.7.2
Bumps [regex](https://github.com/rust-lang/regex) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.7.1...1.7.2)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-22 11:00:44 +00:00
d0cd
3dc56f5058
Merge pull request #2278 from AleoHQ/feat/dead-code-elimination
[Feature] Dead Code Elimination
2023-03-21 09:47:32 -07:00
dependabot[bot]
7a34414013
Bump serde from 1.0.155 to 1.0.158
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.155 to 1.0.158.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.155...v1.0.158)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-21 11:00:53 +00:00
d0cd
abd25b0896
Merge pull request #2295 from AleoHQ/feat/toggle-dce
Add an option to (dis/en)able DCE in the compiler.
2023-03-20 08:53:56 -07:00
d0cd
c5f7c01f02 Add an option to enable DCE in the compiler 2023-03-13 09:28:51 -07:00
d0cd
1ea7dad842 Remove redundant function in compiler 2023-03-13 08:51:48 -07:00
dependabot[bot]
8b7c5685d9
Bump serde from 1.0.153 to 1.0.155
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.153 to 1.0.155.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.153...v1.0.155)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 11:01:07 +00:00
dependabot[bot]
a80e558ce2
Bump serde from 1.0.152 to 1.0.153
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.152 to 1.0.153.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.153)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-08 11:00:39 +00:00
dependabot[bot]
a34b69fe2f
Bump tempfile from 3.3.0 to 3.4.0
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases)
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS)
- [Commits](https://github.com/Stebalien/tempfile/commits)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 11:01:44 +00:00
d0cd
a21141e0e2 Cleanup test utilities 2023-02-21 17:17:54 -08:00
d0cd
6c61296f78 Add targeted DCE test; cleanup 2023-02-21 17:13:54 -08:00
d0cd
0e6aa4729b Clippy 2023-02-21 17:13:53 -08:00
d0cd
d634662e97 Fmt 2023-02-21 17:13:53 -08:00
d0cd
da64d487ec Fix DCE impl 2023-02-21 17:09:22 -08:00
d0cd
dfc03db67e Connect dead code elimination pass to compiler stages, CLI, and tests 2023-02-21 17:09:22 -08:00
d0cd
ec91d5655b Prototype dead code elimination 2023-02-21 17:09:22 -08:00
d0cd
707cd3cfce AST cleanup 2023-02-21 17:09:22 -08:00
d0cd
4b3b4a83ff Initial scaffolding for dead code elimination 2023-02-21 17:09:22 -08:00
d0cd
c8f6089be3
[Fix] Excludes inline functions from produced bytecode. (#2277)
* Remove codegen for inline functions

* Regen expectations
2023-02-21 14:17:11 -08:00
Collin Chin
0a738d4994 chore(leo): bump version for new release 2023-02-17 22:30:17 -05:00
d0cd
0522c2a08f
Removes unused or deprecated keywords from the grammar. (#2273)
* Remove unused/deprecated symbols

* Remove tokens

* Update parser

* Update tests

* Regen expectations
2023-02-17 19:25:11 -08:00
d0cd
f6d043c1f0
Fixes issues with function inlining from imported programs. (#2271)
* TYC for calls to external inline functions

* Fix issue in function inlining

* Fix issue in codegen

* Remove redundant reordering of functions

* Clippy

* Update compiler/passes/src/function_inlining/inline_program.rs

Signed-off-by: Collin Chin <collin@aleo.org>

---------

Signed-off-by: Collin Chin <collin@aleo.org>
Co-authored-by: Collin Chin <collin@aleo.org>
2023-02-16 22:13:54 -08:00
d0cd
067dadb12b
Merge pull request #2263 from AleoHQ/feat/record-visibility
[Feature] Visibilities for record members.
2023-02-14 16:38:54 -08:00
d0cd
cf22bc75bb Address feedback 2023-02-14 16:30:12 -08:00
d0cd
ea1607ca81 Test framework removes group nonces 2023-02-10 22:55:59 -08:00
d0cd
f269a3c609 Add codegen support for records with visibilities 2023-02-10 21:35:37 -08:00
d0cd
a6663db934 Typechecking for structs with members 2023-02-10 21:31:10 -08:00
d0cd
5001f3abde Add parser support for visibilities on structs 2023-02-10 21:21:29 -08:00
d0cd
47fa89b012 Refactor mode 2023-02-10 21:21:06 -08:00
d0cd
05ffefbb79 Add mode to Member 2023-02-10 21:07:44 -08:00
d0cd
55bae5a71b Fmt 2023-02-10 17:44:01 -08:00
d0cd
1dd5887518 Clippy and cleanup 2023-02-10 16:50:59 -08:00
d0cd
0afe0e12f9 Inliner uses AssignmentRenamer instead of SSA; address edge cases 2023-02-10 15:09:59 -08:00
d0cd
475a5b7870 Fix issue in flattening 2023-02-10 15:09:34 -08:00
d0cd
c70c018109 Refactor replacer 2023-02-10 15:08:23 -08:00
d0cd
a2ca077516 Introduce AssignmentRenamer 2023-02-10 15:07:58 -08:00
d0cd
c719489659 Fix parsing 2023-02-10 11:13:18 -08:00
d0cd
d2381767e9 Remove greedy inlining 2023-02-10 09:47:42 -08:00
d0cd
79bf13ff8e Integrate function inlining into test framework 2023-02-10 09:30:43 -08:00
d0cd
31592a9b02 Integrate function inlining into compiler 2023-02-10 09:30:28 -08:00
d0cd
ccae285408 Minor refactors and cleaning 2023-02-10 09:07:14 -08:00
d0cd
53cbaa5f96 Initial impl of function inling 2023-02-10 09:06:26 -08:00
d0cd
3a1f66c6dd Introduce Replacer 2023-02-10 09:05:58 -08:00
d0cd
335fb6efcb Update doc to reflect function inlining occuring after flattening 2023-02-09 20:26:59 -08:00
d0cd
f7267b3daa Cleanup 2023-02-09 19:36:14 -08:00
d0cd
c934bb35b3 WIP function inlining 2023-02-09 19:36:01 -08:00
d0cd
b3ef6f79c3 Add typechecking for inline functions 2023-02-08 17:09:17 -08:00
d0cd
b5c22e23ee Remove occurences of 'call_type' 2023-02-08 16:37:47 -08:00
d0cd
4e8cd3ce52 Add parser support for inline functions 2023-02-08 16:37:28 -08:00
d0cd
44e378b84b Rename CallType to Variant 2023-02-08 16:32:08 -08:00
d0cd
c71ed3429c Add inline keyword 2023-02-08 16:20:07 -08:00
d0cd
afac7b55bc Add more test cases; fmt 2023-02-08 11:32:53 -08:00
d0cd
b921f959b4 Fmt & clippy 2023-02-08 11:32:53 -08:00
d0cd
ef0e455e2b Add support for expected errors 2023-02-08 11:32:53 -08:00
d0cd
f0c7314e17 Regen expectations 2023-02-08 11:32:53 -08:00
d0cd
44eb8ad453 Cleanup; add bytecode to expected outputs 2023-02-08 11:27:29 -08:00
d0cd
59915ed315 Initial implementation of Execute namespace; fmt 2023-02-08 11:21:20 -08:00
d0cd
789c2e6443 Remove input files from compiler tests 2023-02-08 11:18:40 -08:00
d0cd
085f8fbdae Factor out test helpers 2023-02-08 11:14:22 -08:00
d0cd
dc92ec36d2 Refactor tests to separate directory 2023-02-08 11:13:41 -08:00
d0cd
4bb6ceb5ea Update license and clippy 2023-02-05 13:43:10 -08:00
d0cd
0a8b41b025 Address feedback 2023-02-05 12:46:21 -08:00
d0cd
f65ad5dc69 Fmt 2023-02-05 12:46:21 -08:00
d0cd
5565150f30 Regen expectations 2023-02-05 12:46:21 -08:00
d0cd
74e358dde6 Add test for out of order functions 2023-02-05 12:46:21 -08:00
d0cd
e633c62b71 Implement post-ordering for functions during code-generation 2023-02-05 12:46:21 -08:00
d0cd
f06b83c7f4 Implement check for cyclic call graph 2023-02-05 12:46:20 -08:00
d0cd
b17702e019 Fix graph init; regen expectations 2023-02-05 12:46:20 -08:00
d0cd
899c12d85a Implement post-order codegen for structs and records 2023-02-05 12:46:20 -08:00
d0cd
a4d76c644a Refactor AST 2023-02-05 12:46:20 -08:00
d0cd
d91233f06e Implement cycle detection for structs and records 2023-02-05 12:46:20 -08:00
d0cd
5e331bbf36 Cleanup 2023-02-05 12:46:20 -08:00
d0cd
dd33eb024d Add test 2023-02-05 12:46:20 -08:00
d0cd
940d357c5e Cleanup 2023-02-05 12:46:20 -08:00
d0cd
9edbf0a74e Add tests for graph 2023-02-05 12:46:20 -08:00
d0cd
8b8c7b5c0a Get cycle if toposort fails 2023-02-05 12:46:20 -08:00
d0cd
9fbcdfc9f3 Add graph data structure 2023-02-05 12:46:19 -08:00