Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
caec800 to
6faccdd
Compare
d526b81 to
01aab53
Compare
6faccdd to
7a3da04
Compare
7a3da04 to
5a923b2
Compare
01aab53 to
4c8faf9
Compare
5a923b2 to
05e51e7
Compare
The interleaved inlining/const-folding pass scans a block's statements for inlinable calls before const folding visits the block end. When that visit replaces the end it may append new statements (e.g. rewriting a match on `x - 1` into a call to an inc/dec function), which nothing scanned again, so such calls were only inlined if the containing function was itself later inlined into a caller - otherwise they survived as un-inlined calls (see the removed `u32_inc` call in the function_generator golden). Reprocess the statements appended by a block-end replacement, similar to the reprocessing of replaced statements. This slightly shrinks generated code (e.g. the libfuncs_coverage contract). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
05e51e7 to
1f2e292
Compare
PR SummaryMedium Risk Overview The inline loop now invokes Golden Sierra output and Starknet compiled-class hashes/bytecode update accordingly (e.g. Reviewed by Cursor Bugbot for commit 1f2e292. Bugbot is set up for automated code reviews on this repo. Configure here. |
TomerStarkware
left a comment
There was a problem hiding this comment.
@TomerStarkware reviewed 7 files and all commit messages, and made 1 comment.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on eytan-starkware).

The interleaved inlining/const-folding pass scans a block's statements for
inlinable calls before const folding visits the block end. When that visit
replaces the end it may append new statements (e.g. rewriting a match on
x - 1into a call to an inc/dec function), which nothing scanned again, sosuch calls were only inlined if the containing function was itself later
inlined into a caller - otherwise they survived as un-inlined calls (see the
removed
u32_inccall in the function_generator golden).Reprocess the statements appended by a block-end replacement, similar to the
reprocessing of replaced statements. This slightly shrinks generated code
(e.g. the libfuncs_coverage contract).