Latest Repo Discovered
algo-certify-dApp-nft
Jupyter Notebook
·
No license
Top Contributor of the Month
8830 commits in all time
Dec 24, 2025 06:01 – Mar 24, 2026 06:01 UTC
refactor: simplify GVN replacement chain handling
Replace _resolve_transitive chain resolution with a validation assert. Both the hash-based pass and SCC pass always replace with VN representatives, which are never themselves replacement targets, so chains cannot form. Asserting this invariant (via InternalError) is safer than silently resolving — a chain would indicate a bug in the replacement logic. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6dd4314d
gvn
1/9 ++ 14 --
fix: improve GVN test coverage to 99%
- Fix phi_congruence test to exercise GVN redundant phi path (lines 279-288) by using commutative operand order (a|b vs b|a) so the frontend keeps them as separate registers but GVN canonicalises them to the same VN - Convert unreachable defensive guards to raise InternalError (arity mismatch, replacement cycle, multi-external-VN SCC, missing VN representative) — these are excluded from coverage via .coveragerc Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
19d60f87
gvn
25/279 ++ 277 --
feat: add SCC-based phi congruence analysis to GVN
After hash-based numbering, build a phi dependency graph and find SCCs. Within each non-trivial SCC, check if all phis have the same set of external (non-SCC) argument VNs. If so, they're all congruent and can be merged. Catches patterns like phi(a,y)/phi(b,x) where a==b that hash-based GVN misses due to back-edge conservatism. Adds test_cases/phi_congruence with contracts exercising cross-assignment loops (SCC size 2), triple rotation cycles (SCC size 3), and a redundant phi pattern. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4e677f12
gvn
54/7,449 ++ 1 --
feat: add SCC-based phi congruence analysis to GVN
After hash-based numbering, build a phi dependency graph and find SCCs. Within each non-trivial SCC, check if all phis have the same set of external (non-SCC) argument VNs. If so, they're all congruent and can be merged. Catches patterns like phi(a,y)/phi(b,x) where a==b that hash-based GVN misses due to back-edge conservatism. No impact on current test suite (no such patterns exist), but zero-cost when not triggered. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3532607a
gvn
1/78 ++ 3 --
chore: disable GVN-PRE pending better insertion heuristics
PRE produces net regressions on current test suite: phi/stack overhead exceeds savings for the cheap expressions that pass the safety filter. Also fixes oscillation bugs (infinite optimizer loop from PRE insert then GVN eliminate cycling). Infrastructure remains in gvn_pre.py for future work. Key remaining issues: - Need heuristics to skip insertions where overhead > benefit - Need robust no-op detection to prevent optimizer loop oscillation - Critical edge splitting interacts poorly with the fixed-point loop Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1fc7ac6c
gvn
2/17 ++ 32 --
Merge 9914847ca3c6be980f8881f7e78950e918c60462 into 6cadd542c5f648d09339e800045abe0d3b56aa67
f0457648
pull/812/merge
1/1 ++ 1 --
Merge 080e7cd1762b5867e0be350ca24730241114b187 into 6cadd542c5f648d09339e800045abe0d3b56aa67
7122274f
pull/811/merge
1/1 ++ 1 --
Merge 70c751e57f41177538528600c95f37294c1ad95d into 6cadd542c5f648d09339e800045abe0d3b56aa67
de6d6be0
pull/810/merge
1/1 ++ 1 --
build(deps-dev): bump typescript from 5.9.3 to 6.0.2
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.9.3 to 6.0.2. - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.2) --- updated-dependencies: - dependency-name: typescript dependency-version: 6.0.2 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
9914847c
dependabot/npm_and_yarn/typescript-6.0.2
1/1 ++ 1 --
build(deps-dev): update @typescript-eslint/parser requirement
Updates the requirements on [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) to permit the latest version. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.2/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-version: 8.57.2 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com>
080e7cd1
dependabot/npm_and_yarn/typescript-eslint/parser-tw-8.57.2
1/1 ++ 1 --
build(deps-dev): update @typescript-eslint/eslint-plugin requirement
Updates the requirements on [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) to permit the latest version. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.2/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.57.2 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com>
70c751e5
dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-tw-8.57.2
1/1 ++ 1 --
feat: add GVN-PRE infrastructure with recursive materialisation
Add Partial Redundancy Elimination module (gvn_pre.py) integrated into the GVN pass. Flow: number -> PRE insert -> re-number -> eliminate. Key components: - ANTIC_IN/AVAIL_OUT dataflow analysis - Recursive materialisation: when operands aren't available at the insertion point, recursively insert the expressions that produce them - Dominance-aware leader lookup via idom tree - Safety filter: only non-trapping ops can be inserted on new paths - Critical edge splitting before insertion Refactors GVN to separate _number_values from elimination so PRE can hook between them. Currently produces net regressions due to phi/split-block overhead exceeding savings on cheap single-instruction ops. Needs filtering to skip expressions where hoisting overhead exceeds the benefit. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
bf70c287
gvn
2/524 ++ 4 --
Merge e86baadcf3b532e0c91829e7710c2bebbc8ba64c into 8a16ee8d13e5d8d1428bdefda1f19815f3b4909e
0cfc7c0b
pull/122/merge
4/238 ++ 1 --
feat: add arc65 support: loggedErr() and loggedAssert() functions, to log a formatted error string before failing
e86baadc
feat/logged-errors
4/238 ++ 1 --
Merge 154583362f98da0dda2622f53928c6a9384bddbc into 8a16ee8d13e5d8d1428bdefda1f19815f3b4909e
41ace17c
pull/122/merge
4/238 ++ 1 --
Notes added by 'git notes add'
3a28b070
notes/semantic-release-v1.1.1-beta.3
1/1 ++ 0 --
Merge pull request #118 from algorandfoundation/fix/clone
fix: unsupported type error when cloning object with Account, Application or Asset property
8a16ee8d
main
6/122 ++ 13 --
Notes added by 'git notes add'
ff4a8a5c
notes/semantic-release-v1.1.1-beta.2
1/1 ++ 0 --
Merge pull request #123 from algorandfoundation/fix/default-sender-creator
fix: correct default sender for inner txns and creator for new contracts
aabfb2c8
main
4/13 ++ 11 --
Merge c406f9ba4f04a53d536d4705c255ae3a60b83259 into ba9a28ae3f474997c78b6da0ee28f270f2d7b53f
a3fc06a3
pull/6588/merge
10/533 ++ 87 --
Fix an `asset config` bug
Make the two ways to get asset params output more consistent Add tests to show acfg is handled properly in delta merging
c406f9ba
pull/6588/head
6/73 ++ 36 --
Merge 8b6d50495e60448509422fe59f56c1cfd8406410 into f17661074ae547e3df304898533f091f6d3844cc
4cd14d93
pull/586/merge
2/8 ++ 7 --