-
-
Notifications
You must be signed in to change notification settings - Fork 804
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
refactor[venom]: introduce IRContext
and IRAnalysisCache
#3983
Conversation
5b5b049
to
b009516
Compare
b009516
to
3ed3cb0
Compare
from vyper.exceptions import CompilerPanic | ||
from vyper.utils import OrderedSet | ||
from vyper.venom.analysis.analysis import IRAnalysis | ||
from vyper.venom.analysis.cfg import CFGAnalysis |
Check notice
Code scanning / CodeQL
Cyclic import Note
vyper.venom.analysis.cfg
78061a0
to
ce96233
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think overall this is a big improvement - the passes are more encapsulated.
question: why do request_analysis
and invalidate_analysis
have to be called imperatively? is there any way for a pass to register which analyses it needs and then there is automated machinery which calls request_analysis and invalidate_analysis?
IRContext
and IRPassManager
while True: | ||
changes = 0 | ||
|
||
changes += ir_pass_optimize_empty_blocks(ctx) | ||
changes += ir_pass_remove_unreachable_blocks(ctx) | ||
|
||
calculate_liveness(ctx) | ||
|
||
changes += ir_pass_optimize_unused_variables(ctx) | ||
|
||
calculate_cfg(ctx) | ||
calculate_liveness(ctx) | ||
|
||
changes += DFTPass().run_pass(ctx) | ||
|
||
calculate_cfg(ctx) | ||
calculate_liveness(ctx) | ||
|
||
if changes == 0: | ||
break |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removing this loop seems to cause an optimizer regression
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This depends on the compiled code. For example compiling CurveStableSwapNG-0.4.0.vy
results (wc -c
):
master
branch: 50489
Current branch: 50541 <-- indeed looks like a regression
but on the current branch if we just remove DFTPass
at the end like so:
@@ -49,7 +49,7 @@ def _run_passes(fn: IRFunction, optimize: OptimizationLevel) -> None:
SimplifyCFGPass(pm).run_pass()
RemoveUnusedVariablesPass(pm).run_pass()
- DFTPass(pm).run_pass()
+ # DFTPass(pm).run_pass()
we get down to size that master
can't get to: 50419
This PR is about getting the code cleaned up and organized by providing the machinery to have pass/analysis flexibility (while also making it much more efficient 🚀 ), and then the exact sequencing of passes, along with tuning them, will be determined as a separate issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
well, adding the loop back in reduces codesize again -- 50417
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i guess the RemoveUnusedVariablesPass as currently implemented is not really a one-shot pass, since each iteration can remove more dead variables
I tried both designs, but the imperative won at the end. It's more clear/explicit when and how request and invalidations happen, and it gives you the flexibility of sequencing and re-requesting analyses when needed depending on the nature of the pass. |
|
commit db9fc3b8d0a58258218db715963335564e156f0c Author: Harry Kalogirou <[email protected]> Date: Tue Apr 30 14:50:07 2024 +0300 update tests commit 89d51c4a92ca77a8b5491ecb3afe17e5a84ba004 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 30 14:34:45 2024 +0300 refactor and cleanup commit be91dfe79b5c27aa17399f1858d7f7341fa2503b Author: Harry Kalogirou <[email protected]> Date: Tue Apr 30 14:29:42 2024 +0300 move data segment info to context commit 6903c22095e0dd354a22d54ad0b196a9d8c32206 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 30 14:22:54 2024 +0300 Refactor VenomCompiler class in venom_to_assembly.py commit 9b6117f3a2af66ca61700e775a8e3de47e32d511 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 30 12:00:34 2024 +0300 lint commit c14e33a54fac6036e17002b8ef68ccd4f4c0ea96 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 30 11:49:12 2024 +0300 add comment commit 5fec3f2479b39c1a4fd6c48514ef1215fb884b89 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 30 11:47:15 2024 +0300 fix symbol replacement bug in _merge_jumpdests function commit 89d1a5c0ee65176ef4b2c47108b761586a06efe2 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 30 11:32:51 2024 +0300 add test cases commit 99f0d364502176ba0d9a59a57336fdcaeab413a3 Merge: ddb79131 7fc748c8 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 30 12:10:47 2024 +0300 Merge branch 'feature/sccp' into refactor/irfunction commit 7fc748c814e0a0c007f810c574c60bb3b99576f3 Merge: 8bd05a91 04cadaa9 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 30 12:10:27 2024 +0300 Merge branch 'master' into feature/sccp commit ddb791319bf87b73a291ba1571e53411c9b6409b Author: Harry Kalogirou <[email protected]> Date: Tue Apr 30 11:15:30 2024 +0300 Refactor IRContext and IRFunction classes in vyper/venom commit 506e2892d7dc3a6832e1a700380554dda407aecb Author: Harry Kalogirou <[email protected]> Date: Tue Apr 30 10:32:33 2024 +0300 remove legacy function handling commit bcecd5a4598004b8255f0b95ffc681e9f43584dd Author: Harry Kalogirou <[email protected]> Date: Tue Apr 30 10:28:54 2024 +0300 Chain basic blocks refactor commit d78409b9b5e388368950cf6ce2a1da00d2d2d83b Author: Harry Kalogirou <[email protected]> Date: Mon Apr 29 18:47:52 2024 +0300 output context commit 8cc1b7578346513863c093ba3d4845c10e45e3f0 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 29 18:37:22 2024 +0300 Fix CFG altering instructions in IRFunction class commit 8516588e2735fbbc0bff73178a19edcbf6cf69b3 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 29 18:32:25 2024 +0300 Refactor IRContext and IRFunction classes in vyper/venom commit 2762f8ca996881a005ed96bc5af833511560a3be Author: Harry Kalogirou <[email protected]> Date: Mon Apr 29 18:23:04 2024 +0300 Refactor IRContext and IRFunction classes in vyper/venom commit 81f2cb0dd85aaf1bba8f4abfd5ecfc854b74a331 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 29 17:47:46 2024 +0300 Fix type annotation in test_dominator_tree.py commit f44f54491ecfc0623b868c7e8caec32b0911fe98 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 29 17:47:22 2024 +0300 ctx to fn commit 8bd05a9154af84a0fbe3cd39bb01f59b41331556 Author: Charles Cooper <[email protected]> Date: Fri Apr 26 09:29:57 2024 -0400 reference wegman+zadeck commit 2bee449b554c8e520c910027048b59fb81b9d80a Author: Harry Kalogirou <[email protected]> Date: Fri Apr 26 14:41:26 2024 +0300 Fix typo commit 4c3b252ffd767fd166958c64ee094d8e5fdf7661 Author: Harry Kalogirou <[email protected]> Date: Fri Apr 26 14:18:24 2024 +0300 compile/runtime tests commit 3dca106e17f59186c0987aff063b2b9bb3fb7549 Author: Harry Kalogirou <[email protected]> Date: Fri Apr 26 14:17:39 2024 +0300 Fix typo in simplify_cfg.py commit e3b40d123f2a33a68c8ade51586c34eb7c165ebe Merge: 4bb67fb8 1592ea1b Author: Charles Cooper <[email protected]> Date: Wed Apr 24 14:31:42 2024 -0400 Merge branch 'master' into feature/sccp commit 4bb67fb862690930c086e878c769020d7e0570f3 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 22 11:16:06 2024 +0300 lint commit a8a69514d6a8c72f307dc5cea3172514ae7da5ea Author: Harry Kalogirou <[email protected]> Date: Mon Apr 22 11:12:16 2024 +0300 oob tests for compile/run time commit 3769faa9f574c88db25730ec4c6c567b18403214 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 22 10:32:26 2024 +0300 remove unused import commit 5e2be93d176f4c46fd44ed61873989b29a26c45f Author: Harry Kalogirou <[email protected]> Date: Mon Apr 22 10:31:29 2024 +0300 add back check commit ea0b57fe2553c8fd01b3687ec458be2b60c80c27 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 22 10:23:37 2024 +0300 remove unused self.dom commit be86cbfffb8ccf1efd4b1683601b59adff517661 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 22 10:21:53 2024 +0300 refactor commit 3c3072c366c8e87b3315cd29bbc935ec134fe823 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 22 10:20:00 2024 +0300 Reform type assertion in IRInstruction class commit 34354a0cba284545e926cb54988110166ff02d19 Merge: cf478ed4 80708e6d Author: Harry Kalogirou <[email protected]> Date: Mon Apr 22 10:14:30 2024 +0300 Merge branch 'master' into feature/sccp commit cf478ed42848f464550d317b26b440e303ecff33 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 17 19:54:45 2024 +0300 Raise invalid work item type handling in SCCP commit 1c8df40b0af6d6309c9cbd3df23c1d99533b96ab Author: Harry Kalogirou <[email protected]> Date: Wed Apr 17 19:43:02 2024 +0300 nbytes commit a3185224d11b608a1c8d3aea3e0799e3b7873150 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 17 12:06:35 2024 +0300 remove fast return commit bc95d0cf7f336a514e800c0648b7783704500e54 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 17 12:03:58 2024 +0300 Move `cfg_in_exec` to `SCCP` commit 251181dbc6ff5e38edece9d2b81223ee9470ee28 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 17 11:51:04 2024 +0300 rename `vars` to `in_vars` commit 40ad2001dc2bcc9b7c6cb4577bee81dc1803bb8b Author: Harry Kalogirou <[email protected]> Date: Wed Apr 17 11:49:12 2024 +0300 remove basic_block from SSAWorkItem commit 13d7cc2caca2f506d570f3b2a469d92663c67c59 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 17 11:44:37 2024 +0300 use snake_case naming convention commit c83940acd702c24fab2d9611b170ba550476ba56 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 17 11:41:34 2024 +0300 remove fast paths commit 1d0ae1cc1c98069513f160cdf8bac5353bf7b97b Author: Harry Kalogirou <[email protected]> Date: Wed Apr 17 11:26:02 2024 +0300 generalize `mstore` insertion before `return` commit 5cd9c3e2cd203f0a177b7558b84dd00d8a194b08 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 17 11:20:50 2024 +0300 Rename Mem2Stack to Mem2Var commit 93ae7edd09333d90dff606e8336f5413b1807893 Merge: 6bd1822b e1adb7b3 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 16 11:22:55 2024 +0300 Merge branch 'master' into feature/sccp commit 6bd1822b56343fef3bd62571871a0e2509f661b8 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 16 09:54:28 2024 +0300 remove masking commit b01b9afad2f9ce36ce831bf8a90202fdaea0d3bc Author: Harry Kalogirou <[email protected]> Date: Tue Apr 16 09:44:15 2024 +0300 Add input value bounds checks in SCCP evaluation functions commit c778fbb53cb724c9116c148fd967de3880197408 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 16 09:37:43 2024 +0300 refactor _evm_iszero function commit eba81af9ed066f415fac53477f25bfc94c7d5522 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 16 09:34:40 2024 +0300 Refactor EVM evaluation functions commit 09cb6ce596d33564abd57c2810df6ca0d05eec83 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 16 09:18:52 2024 +0300 make use of vyper signed/unsigned conversion utility functions commit 238d28e588beb2a36ba3e6635ecdc51369e1fb5f Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 23:51:00 2024 +0300 refactor commit 75a0bcb7351cd066972577feb89ebe74011a8799 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 22:33:14 2024 +0300 Panic for too many iterations in SimplifyCFGPass commit 913124fa95a1d6700b262ca5613a2e3a0ec29348 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 22:02:27 2024 +0300 right right shift commit 298504f6a70616aa62557523642f9cd31eb08bcf Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 21:35:38 2024 +0300 lint commit 8bda3f99d5e5ce36862d0944409b02c7b3280f1f Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 21:14:56 2024 +0300 bound iterations commit e684bd48de411c11a374f627e6324f188e82245c Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 21:07:31 2024 +0300 rename functions commit 02bcf8bdbe89094c5caf1c3733983e4683752cd4 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 21:03:58 2024 +0300 snakecasefy commit d23440080674b7d20537a009c83a09d65f098145 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 16:46:16 2024 +0300 use `pytest.raises()' commit 19c6a773336bc871f2ee2913369231aa1176005a Merge: e6022655 39b46ca3 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 16:39:37 2024 +0300 Merge branch 'master' into feature/sccp commit e60226551dd8d64f85833dd0dec26907780738bd Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 16:38:31 2024 +0300 remove unsused local commit b105a01abf9564571c1325b11bd95577063327b9 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 16:36:32 2024 +0300 update test for venom compile type assert commit 9545e36345a39682f2c265330c41971cd7b55516 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 16:33:09 2024 +0300 formatting commit b1842064a219519c7ab73cc25babdb9a983115db Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 16:32:22 2024 +0300 update tests for venom compile time asserts commit 1238c9690e3d09a9f43bf6417622ab653965b694 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 16:05:34 2024 +0300 formatting commit 975d4ebfa54d1361942db37a8eac6283d1e4c103 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 16:05:06 2024 +0300 `ast_source` made into `IRnode` commit 225c5937bde459cd0b819b1fe51cf27f1634712a Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 16:04:32 2024 +0300 lint commit 2a77c88c8442695cb8720517978d2ee31ddf3993 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 16:04:09 2024 +0300 fix signextend commit 34593bf13b3b174f488acf59dc60f339f848967a Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 12:39:03 2024 +0300 assertion failure and add get_ast_source method commit c2a17edcf573b53587c23473ed864944a475e1ff Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 11:58:52 2024 +0300 Remove `abort` opcode, make false assertions into compile error commit b5548ebdfacf3a90114929f499b961062cb5a376 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 11:33:30 2024 +0300 lint commit ac841ecb4860da0d275d301e4acd25a66c98a86d Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 11:15:43 2024 +0300 add comment commit cbec0a510dc3433e0a922f2853e8f430bcf841f7 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 11:14:43 2024 +0300 Remove unused code commit 5506b40189488ecfbf8f70c8e03ca869eb258892 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 01:11:07 2024 +0300 comments and cleanup commit 4e417197024c2ffb5d8bb8f99061524c92c025fa Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 01:05:23 2024 +0300 comments and a small optimization commit 073ddd2729266d3f628a62962fcc666476e5d07a Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 00:57:13 2024 +0300 Refactor `self.uses` handling to simplify code commit 8047ce139345572aa9364d9865da43b220dd9e0f Author: Harry Kalogirou <[email protected]> Date: Mon Apr 15 00:45:11 2024 +0300 Remove unused function commit adcbda765f9669e31a85d318a88715a2dbaf977f Author: Harry Kalogirou <[email protected]> Date: Sun Apr 14 22:35:07 2024 +0300 Remove commented code in ir_node_to_venom.py commit 1b227f793fb38a0ee8de93f15b35c550a9c29c85 Author: Harry Kalogirou <[email protected]> Date: Sun Apr 14 22:25:38 2024 +0300 return iterators when posible commit ca409509b94bbc859c42d6d9a215cb0213d357bf Author: Harry Kalogirou <[email protected]> Date: Sun Apr 14 22:06:29 2024 +0300 Enable liveness display in IRInstruction class commit 8a7024feed2a5a8083d0897b2a117d33b756b3b9 Author: Harry Kalogirou <[email protected]> Date: Sun Apr 14 10:46:16 2024 +0300 refactor sccp code commit cbd5a581430e7accf9745ea23cfd9909180ee5e0 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 13 23:44:59 2024 +0300 Remove unused imports and optimize imports in venom/__init__.py commit 9f9f1da7cde42a662374fbfa7cfec91b3d1e5d08 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 13 23:14:49 2024 +0300 lint commit 2a5e22b36bb587c6d3e47c4859c2bd8d3f50ffd2 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 13 23:10:37 2024 +0300 raise CompilerPanic for unimplemented djmp with literal commit 96abd9f5a5c20352b5d49e799cac23ff9e13451b Author: Harry Kalogirou <[email protected]> Date: Sat Apr 13 22:01:02 2024 +0300 lint commit 4a8def3207a9a26c6e1a513c33dc1db16136ab88 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 13 18:15:13 2024 +0300 Remove unused imports commit 8c728b049602d4b3eac89620987d70b6e66fcac7 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 13 17:42:50 2024 +0300 lint commit a76341a9bafe36fee882a20509951dbb9cad68a8 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 13 14:55:33 2024 +0300 Add type hinting for ARITHMETIC_OPS dictionary commit 6016d1ba876beb3d26b8baaa09735f6666578474 Merge: 63e23007 cb940684 Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 21:52:10 2024 +0300 Merge branch 'master' into feature/sccp commit 63e23007ce55551da66cfe6493e5d4923bad98a7 Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 21:47:54 2024 +0300 cleanup commit 2354c8ad189daa1c74f1d1c6b001b1ec4c49deae Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 21:46:06 2024 +0300 Remove unused code and add new instruction "abort" commit c5ac59acac1826705d12aa74dc76b0828c3c270c Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 21:32:53 2024 +0300 bugfix DFT commit 234b2080207278ec64755bd06cc51a292a54b42b Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 16:17:32 2024 +0300 Remove xfail markers from test functions commit 393b2906bee718012e42ddb008071c353d1119c0 Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 16:06:15 2024 +0300 Swap order of operands in _evm_signextend function commit 184f371ee4a3c2f1245d25d46fe17c7c6964658f Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 16:05:49 2024 +0300 add `abort` venom instruction commit 153844aed9b35baf8773b04ce3d97b0cd53a8e2a Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 12:20:41 2024 +0300 Fix signed integer operations in SCCP evaluation commit 36da602d9aaff9d6587464ee9101c41188c7321a Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 12:03:07 2024 +0300 Fix incorrect lattice values in test_sccp.py commit 7c232b0972faead4561bfcdabdd2e25c7223b4df Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 11:55:45 2024 +0300 fix successor phis commit d2d053d2b8949651605c8c341838b7e19a6d9a4e Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 02:14:38 2024 +0300 Refactor exp in SCCP evaluation commit f4b2fdca46447d9fa753acb6fe810d69122d018d Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 01:59:13 2024 +0300 lint commit dd481fc81ea247a6910ac2018764d2c1e72295f3 Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 01:58:17 2024 +0300 fix exp evaluation commit b29975de51b347f6c04313568e2c7b487840c677 Author: Harry Kalogirou <[email protected]> Date: Fri Apr 12 01:48:06 2024 +0300 fixes commit ca9713518b756c09e82c7aa6a4f0bccdb2f63b5e Author: Harry Kalogirou <[email protected]> Date: Thu Apr 11 19:33:21 2024 +0300 disable variable propagation commit 536af1e12bd7e8bce31f4947bf5f126a57a486b6 Author: Harry Kalogirou <[email protected]> Date: Thu Apr 11 19:17:11 2024 +0300 fix branch selection logic to actually use _meet() commit 85e6ad8a67b81904381be5c2b6b690c61016e06d Author: Harry Kalogirou <[email protected]> Date: Thu Apr 11 18:23:22 2024 +0300 update test cases in test_sccp commit 53fcc755c33306d6785c686d2fc5daf3225d6271 Author: Harry Kalogirou <[email protected]> Date: Thu Apr 11 17:45:37 2024 +0300 Add _evm_not function to handle bitwise NOT operation commit 1e9365078c20ff465520074b99773e294ef45996 Author: Harry Kalogirou <[email protected]> Date: Thu Apr 11 10:29:13 2024 +0300 enable for internals commit 5ae8edea5e35a2fb56a25f30f8c6c350a15758b0 Author: Harry Kalogirou <[email protected]> Date: Thu Apr 11 00:29:48 2024 +0300 Refactor Mem2Stack pass and add variable propagation commit 779ce77e47158fdc8daee75e5ed28a136058fe0a Author: Harry Kalogirou <[email protected]> Date: Thu Apr 11 00:29:40 2024 +0300 Fix operand order in EVM shift operations commit b12717afcd22a944c32fbff15223578fb3814417 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 10 22:09:05 2024 +0300 Commented out SCCP pass and rearranged code commit ee833edd3b6beb4abc3f09376cb7fa8d64b42dbb Author: Harry Kalogirou <[email protected]> Date: Wed Apr 10 22:08:52 2024 +0300 block optimization and remove unreachable blocks commit d116cc1ba68b6bb77aed913100e83609ead718c1 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 10 22:08:30 2024 +0300 Fix operand order in binary operations and add new EVM instructions commit 05194e39900a07687eab4b50148806a98e06b0c9 Merge: ddb5795e eb81c269 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 10 09:40:49 2024 +0300 Merge branch 'master' into feature/sccp commit ddb5795ed8664947b6e27dfca652fe702dc73c0e Merge: c75c89c9 8fcbde28 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 17:38:32 2024 +0300 Merge branch 'master' into feature/sccp commit c75c89c9b38a7d27888a7577a09144e133cea223 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 17:27:57 2024 +0300 fixes commit 6e3d7fc4183bb1c546763011ba4f1da65637356f Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 16:27:26 2024 +0300 fix phi issue commit cda13481cd93a97f1399710fe226a4eba1a62683 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 15:53:22 2024 +0300 Update arithmetic operations in SCCP commit dcaaefd9a514bfe8f326fbd0d722db588ffca3b8 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 13:39:27 2024 +0300 Refactor arithmetic operations in SCCP evaluation commit 0f92f1e075fb0d6a64c2610c4d9bd952a4ca80f1 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 13:39:15 2024 +0300 clean sccp commit 2c30b7cbea0d7607ce2c236cd6dd85fc6ed8dbe9 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 13:18:38 2024 +0300 Add CEILING_UINT256 constant to SizeLimits class commit dcea498a8c9f1b06d23558bbad026599e03d87dd Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 12:58:34 2024 +0300 Refactor SCCP pass files and evaluation functions commit 9055dca39116d7e55f89e7f8f7c5a00de83af165 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 01:42:12 2024 +0300 reverse condition order commit 50fbdd814745428f580598ef0e4723554fee0b48 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 01:26:38 2024 +0300 Refactor SCCP pass to propagate variables for cleaner code for humans commit 9a04a28fa4d7fd686f932f867dded3caf0cf9b34 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 01:15:57 2024 +0300 Fix phi operand bug in SCCP pass commit 1647e3e23d5b3713c15e8a1815fb60cce9974164 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 00:53:12 2024 +0300 Updated unreachable block elimination with new phi commit 78efcf76965a7cf7fe1831e1469a40c3d3e61ca9 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 00:52:35 2024 +0300 Remove phi operand method commit dde71b91350ac21a94794217facac2e0a6eff1ec Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 00:35:23 2024 +0300 Fix SCCP propagation bug commit 2b69335484f3c1f4fd484e03ec1844297eb1c0c2 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 9 00:27:02 2024 +0300 Fix SCCP algorithm and add conditional jump optimization commit 313881a77a9fd7916f7adfb20c928b4898e245eb Author: Harry Kalogirou <[email protected]> Date: Mon Apr 8 21:26:53 2024 +0300 temp commit 200f816241379ad98636ea45d6b77c7bb2251259 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 8 21:06:05 2024 +0300 `nop` instruction commit b04e08c8fc8a31664b5d61b3d39db3b673515f2c Author: Harry Kalogirou <[email protected]> Date: Mon Apr 8 21:05:53 2024 +0300 lint commit 0e44392b8d496895943788a70417e42e5846c151 Author: Harry Kalogirou <[email protected]> Date: Mon Apr 8 21:05:20 2024 +0300 constant jump optimization commit f3be0096c6c3bae88d3194388c2abda3c3e9649c Merge: 213b2057 c54d3b16 Author: Harry Kalogirou <[email protected]> Date: Sun Apr 7 21:56:20 2024 +0300 Merge branch 'master' into feature/sccp commit 213b2057cf5caac35d705e7a0de24ff0e0c8aa71 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 21:54:44 2024 +0300 use isinstance commit cbd6a13ab7c11d62b8757e73c6f450ca3aae37b8 Merge: ae53c2dc 273f8144 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 21:52:26 2024 +0300 Merge branch 'refactor/venom_classes' into feature/sccp commit 273f81442b1b702e5960021900398ab9a7bc6db9 Merge: fae87baa 7485ceab Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 21:44:20 2024 +0300 Merge branch 'master' into refactor/venom_classes commit fae87baafedd3e0a26db71f884a273e9d4236dc8 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 21:31:52 2024 +0300 Refactor IROperand checks to use isinstance() instead of custom functions commit ae53c2dc5861aae1bf454e1af5f5ee98092c5cd1 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 11:35:32 2024 +0300 refactors commit b1a8c37ebb253f2d1e8223889283545a286882e2 Merge: efd533ab ea34e4df Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 11:29:15 2024 +0300 Merge branch 'refactor/venom_classes' into feature/sccp commit ea34e4df78ef301a13dff878b88b38b764e93fa3 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 10:11:47 2024 +0300 remove unused member commit 0fbd68a5a56beca65766ff649b75211c5f318f5a Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 10:06:36 2024 +0300 lint commit 29ae288a7438eaf79c7c2c50c9c29423d34b3803 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 10:06:28 2024 +0300 refactor IROperand as base commit 63a6d8495d2eabee1fbbc718e24b4f2b54db59be Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 09:46:11 2024 +0300 use new class structure and `is_` functions commit 2298a27d785d0e10926d2c47e1300dddc9040bca Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 09:34:14 2024 +0300 refactor class hierarchy commit efd533abfed4dd653ad44a416a465e2e29bf6da0 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 09:26:18 2024 +0300 fixes commit 432b830c15158b810e2b3486373c08261d7712e5 Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 00:28:31 2024 +0300 fix commit b09cddfbcc29a223b3c7480cc549cfe9e2b3289a Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 00:26:54 2024 +0300 lint commit 8036078e2ec76712e0f7fad0b489d01a60ddd4ee Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 00:26:39 2024 +0300 refactor commit f8b5a0429ee64b1d41d32fd11d062b957587695e Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 00:26:25 2024 +0300 cleanup commit 07ba2102b3650d00636bd0bb3be8bd35509e02ea Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 00:15:21 2024 +0300 fix merge accident commit a8e8576b8d14028be06e8c6048f01a982ab9ae8f Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 00:15:05 2024 +0300 remove unused parameter commit 9dcd13699261358536642b1eea59f259cebd4645 Merge: 1a424c51 63b8d1da Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 00:11:52 2024 +0300 Merge branch 'master' into feature/sccp commit 1a424c516feb8c0625eaeea8982fe09b4db0cecc Author: Harry Kalogirou <[email protected]> Date: Sat Apr 6 00:10:15 2024 +0300 run sccp on all functions commit 3c4825860585d51d86d0ad094e2058e15989d67e Author: Harry Kalogirou <[email protected]> Date: Fri Apr 5 23:39:02 2024 +0300 enable sccp commit ce9f447a185228c09efabcf88b5fee9c6444d086 Author: Harry Kalogirou <[email protected]> Date: Fri Apr 5 23:32:22 2024 +0300 add global symbol saving/restoring for repeat body commit 69e3ec10c2eece9285e39da0f6d1b9e1c5205719 Author: Harry Kalogirou <[email protected]> Date: Fri Apr 5 21:18:29 2024 +0300 Refactor if-else block in ir_node_to_venom.py commit 8d6699aeeb5dabe06815883aa25a407cfa5ac5b8 Author: Harry Kalogirou <[email protected]> Date: Fri Apr 5 16:57:33 2024 +0300 Refactor memory allocation to use stack commit a60fa6cb744ce82ed42cd5513ba61d94b5795f15 Author: Harry Kalogirou <[email protected]> Date: Fri Apr 5 16:29:11 2024 +0300 temp commit commit b193c709c3de56e33093fae9bf3c707f384b4c6f Author: Harry Kalogirou <[email protected]> Date: Fri Apr 5 16:27:10 2024 +0300 Add global symbol tracking in ir_node_to_venom.py commit 6799b97407f4fdc4a6b8c90f7bb87ffdc3b9f28e Author: Harry Kalogirou <[email protected]> Date: Thu Apr 4 10:06:18 2024 +0300 param alloca commit b28ac5a3711f3c08e1f669cdbc829e155242a90a Merge: 5c182840 d372ad9a Author: Harry Kalogirou <[email protected]> Date: Thu Apr 4 10:01:56 2024 +0300 Merge branch 'venom-alloca' into feature/sccp commit 5c1828405459e4f28d9c5d81820c2b38daa12e6b Author: Harry Kalogirou <[email protected]> Date: Thu Apr 4 10:00:55 2024 +0300 temp commit d372ad9a02392ce3f58558acddb4a674369063c4 Author: Charles Cooper <[email protected]> Date: Wed Apr 3 18:05:00 2024 -0400 wip -- different kind of alloca for internal function params commit 53d1711dc2cf59297294ceaaa8c4484514c09f5f Merge: 4dd53845 45a225c4 Author: Harry Kalogirou <[email protected]> Date: Thu Apr 4 00:29:16 2024 +0300 Merge branch 'master' into feature/sccp commit 4dd53845628d72feba6adc6bc33609a53029f02b Merge: 37a89858 731da639 Author: Harry Kalogirou <[email protected]> Date: Thu Apr 4 00:28:31 2024 +0300 Merge branch 'mem2stack' into feature/sccp commit 731da6392d4f50079a8299d813ef7e639e9619d7 Author: Harry Kalogirou <[email protected]> Date: Thu Apr 4 00:25:54 2024 +0300 Refactor Mem2Stack pass and MakeSSA pass commit ebf38d93365ef81e2d9e1b8b019f3df60da79688 Author: Harry Kalogirou <[email protected]> Date: Thu Apr 4 00:16:25 2024 +0300 Refactor Mem2Stack pass to use DFG outputs commit b908cae6180dc8c56925d4b8cb2649149f97c1e2 Merge: 53587b9e 1a27693e Author: Harry Kalogirou <[email protected]> Date: Wed Apr 3 20:13:15 2024 +0300 Merge branch 'venom-alloca' into mem2stack commit 1a27693e134d727278214239c8026d445841555b Author: Charles Cooper <[email protected]> Date: Wed Apr 3 15:21:23 2024 +0000 fix a defaults test commit b0e918efa14c619c4687f3694d12dd14b0fcc79a Author: Charles Cooper <[email protected]> Date: Wed Apr 3 15:18:44 2024 +0000 fix operand order commit 4a6fd78d4158feb42d65ad6b2eea6175f39ca8f5 Author: Charles Cooper <[email protected]> Date: Wed Apr 3 15:12:37 2024 +0000 revert symbols change commit 37a898585ba3f2b56c167a712a7e3f5696e7a8b5 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 3 13:13:05 2024 +0300 Remove unnecessary __eq__ method from IRVariable class commit f8d88d2a355cacf6e6b04750653c38e13cfd4f10 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 3 13:08:34 2024 +0300 remove test commit 6fcea4dd155316993ddd143380dab6a944a44550 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 3 13:07:08 2024 +0300 remove parameters commit d529b4bdd9dabe0f113b8cee718b363e46022f7f Merge: bf0b2172 6fb76e29 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 3 13:04:35 2024 +0300 Merge branch 'fix/use_pass_instances' into feature/sccp commit 53587b9ec55969da238a880cc17decb08fb5641f Merge: ca4a817d 6fb76e29 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 3 12:54:23 2024 +0300 Merge branch 'fix/use_pass_instances' into mem2stack commit 6fb76e29d98c5daf0167a970805692cef5e50eb0 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 3 12:40:43 2024 +0300 Update tests to use pass instances commit 345f9f57dbd75bc3721fd5725728723af7124a5c Author: Harry Kalogirou <[email protected]> Date: Wed Apr 3 12:35:16 2024 +0300 Update code to use pass instances commit 55b852efcc4c58ea2583866c11a05b7971888c28 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 3 12:30:41 2024 +0300 Refactor IRPass class to use instance methods instead of class methods commit ca4a817dd1dd34122c99c7b89874a36f70d6b4a0 Author: Harry Kalogirou <[email protected]> Date: Wed Apr 3 00:34:21 2024 +0300 Add Mem2Stack pass to optimize memory usage commit 7569a343c1900037cbd555b15bf27cd18db37dd9 Author: Charles Cooper <[email protected]> Date: Tue Apr 2 20:35:33 2024 +0000 another variable rename commit 5c3231b9304dd8691169f8c80af086fd14077548 Author: Charles Cooper <[email protected]> Date: Tue Apr 2 20:32:16 2024 +0000 remove mstore from passthru instructions, add argument names commit 00bc09524252fd3961b2d4f75422c3d1b852a1bd Author: Charles Cooper <[email protected]> Date: Tue Apr 2 15:48:14 2024 -0400 fix another variable commit e41e6d625978c02011d4e7665b53e47464b691df Author: Charles Cooper <[email protected]> Date: Tue Apr 2 15:46:59 2024 -0400 fix bad variable commit f7d9432860b81679a1511ef20c96503f0ac1739d Author: Charles Cooper <[email protected]> Date: Tue Apr 2 15:44:57 2024 -0400 fix order of arguments commit df3b5b8dcc9855ee504fd4c83826a71dabe5ac68 Merge: 24d7eaca e34ca9ca Author: Charles Cooper <[email protected]> Date: Tue Apr 2 15:40:28 2024 -0400 Merge branch 'master' into venom-alloca commit 24d7eaca9885572c5752006f2ec6973668a10181 Author: Charles Cooper <[email protected]> Date: Sun Mar 24 15:20:31 2024 +0000 fix a variable lookup commit 607502d1e8dff6a066adffd2470fbc4c74cdf289 Author: Charles Cooper <[email protected]> Date: Sun Mar 24 12:44:11 2024 +0000 fix buf in revert with reason commit 77427f657824fc33f3fc9603d0e59071f104d1e3 Author: Charles Cooper <[email protected]> Date: Sun Mar 24 12:41:36 2024 +0000 lint commit b22ab6178c0a7adcd80e4183dcffb85fbf8efa4a Author: Charles Cooper <[email protected]> Date: Sun Mar 24 00:54:16 2024 +0000 remove mload and mstore handling in ir_node_to_venom commit 593d2ee5d6e2bf7b4e37f78a81cf8830595b6cea Author: Charles Cooper <[email protected]> Date: Sun Mar 24 00:52:20 2024 +0000 remove memory elision code it better belongs in a separate pass commit 42289ddcbaf068a5c84ddf27d9d8b42f44e0b7de Author: Charles Cooper <[email protected]> Date: Sun Mar 24 00:20:05 2024 +0000 update alloca generation commit 5adc7d41cf13d8594e0da2962e16ab1dfe6c1b2c Author: Charles Cooper <[email protected]> Date: Sat Mar 23 23:40:45 2024 +0000 fix with variable shadowing commit 3221c1c469d15638c75d81b392a210acfcda5ae5 Author: Charles Cooper <[email protected]> Date: Sat Mar 23 19:02:20 2024 +0000 update alloca check commit 0f7597371beebb0f43e7f49eb2c8594d31b0e346 Author: Charles Cooper <[email protected]> Date: Sat Mar 23 18:48:15 2024 +0000 simplify alloca, lint commit ab9d60fc14a8d821f0190a963b080a619f4abbff Author: Charles Cooper <[email protected]> Date: Sat Mar 23 18:32:09 2024 +0000 last fixes commit aa1920731a7b8a61e77ce07af837b384f9c0fd35 Author: Charles Cooper <[email protected]> Date: Sat Mar 23 18:27:58 2024 +0000 fix a bad from_list commit 75169cc9d099a8ff5676fb4f57c755b235bbd632 Author: Charles Cooper <[email protected]> Date: Sat Mar 23 18:10:16 2024 +0000 fix typo commit 597d00aa03e27e4f191c5863c2642dd96dd79be3 Author: Charles Cooper <[email protected]> Date: Sat Mar 23 18:06:13 2024 +0000 fix another builtin bug commit a5dd7bb7519561a31e2bc28c5d7a56a9c1c46e9e Author: Charles Cooper <[email protected]> Date: Sat Mar 23 18:04:26 2024 +0000 small fix commit b37d4d92a7e472223899721ceea65cd50918fcde Author: Charles Cooper <[email protected]> Date: Sat Mar 23 17:54:42 2024 +0000 fix some fixtures commit 4a3bd4b70a8bd03e5ed054d93a019f06e1458959 Author: Charles Cooper <[email protected]> Date: Sat Mar 23 17:38:53 2024 +0000 fix bad evm_version fixture commit 5518af3ff2e1fbb38896a2e0aa986e6b9aa08af3 Author: Charles Cooper <[email protected]> Date: Thu Mar 21 20:35:18 2024 +0000 fix a comment commit 21eefb344f42e1c2611725bdf187a201a9f54eee Author: Charles Cooper <[email protected]> Date: Thu Mar 21 20:28:01 2024 +0000 fix some more instances commit 73a68f1ee6f88f43d58baf900036a72f2b902526 Author: Charles Cooper <[email protected]> Date: Thu Mar 21 20:03:14 2024 +0000 use more add_ofst / fix instances where IRnodes are not expected commit 685164cad26364f56281d9e2efdd59903a903f74 Author: Charles Cooper <[email protected]> Date: Thu Mar 21 19:55:36 2024 +0000 fix a fixture scope commit b79403a6e8e91827d32b2a2400ac9e5d2ad26642 Author: Charles Cooper <[email protected]> Date: Thu Mar 21 13:49:11 2024 -0400 pass thru alloca in gep commit a047691fc32ac916eadba62dd288fc066874223a Author: Charles Cooper <[email protected]> Date: Thu Mar 21 13:48:13 2024 -0400 wip -- change new_variable to return IRnode with alloca metadata instead of int commit 319be84f7658bfdc0ebeac98b8b72d3736ec7b47 Author: Charles Cooper <[email protected]> Date: Thu Mar 21 13:00:30 2024 -0400 do not perform deallocation in venom pipeline small refactor: refactor replicated code for variable deallocatoin commit 1c6d6f000a5ba43e8376b3dc9eb8fb5042b08f81 Author: Charles Cooper <[email protected]> Date: Thu Mar 21 12:46:45 2024 -0400 make settings into a global object this unifies various functions which modify global settings: anchor_opt_level, anchor_evm_version, _set_debug commit bf0b217274770b98c1cfba5c10ce6fb9c94d509f Author: Harry Kalogirou <[email protected]> Date: Tue Apr 2 17:27:24 2024 +0300 Add constant propagation method to SCCP pass commit 664cd8f1f599160d38494af7601927da45387819 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 2 15:27:02 2024 +0300 Add arithmetic optimization to SCCP pass commit 14f00b377e4a0f048bce7f91a37143bb5d1d98aa Author: Harry Kalogirou <[email protected]> Date: Tue Apr 2 15:21:04 2024 +0300 handle unused commit 9206f81bbf8c80b1ff1b695fd4f5979e5139ebf4 Merge: 7ac26d83 34eba098 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 2 14:51:56 2024 +0300 Merge branch 'feature/venom_updates' into feature/sccp commit 34eba0987409f29d30aadd20ba88de9f761c6057 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 2 12:18:28 2024 +0300 missplaced comment commit 7ac26d83161bd607e931ca6f1662dca9a93fa37b Merge: 64c107d5 fece7b10 Author: Harry Kalogirou <[email protected]> Date: Tue Apr 2 10:35:32 2024 +0300 Merge branch 'feature/venom_updates' into feature/sccp commit fece7b10f10a9572c387d65284b430947617d86c Author: Harry Kalogirou <[email protected]> Date: Thu Mar 28 16:37:55 2024 +0200 remove stray alloca commit 6099dae8d922a91faa1f382dee62a96517352b3d Merge: f57a9d1c 4a8a472e Author: Harry Kalogirou <[email protected]> Date: Thu Mar 28 12:26:15 2024 +0200 Merge branch 'feature/venom_updates' of github.com:harkal/vyper into feature/venom_updates commit f57a9d1c577888ebb2724246ae30ce3463ac0f3c Author: Harry Kalogirou <[email protected]> Date: Thu Mar 28 12:25:38 2024 +0200 verify phi placement commit 4beaaa40545e75fda5ddc6f94de5a797fe638c82 Author: Harry Kalogirou <[email protected]> Date: Thu Mar 28 12:10:08 2024 +0200 unlint commit 4a8a472ecae1a35776288c8258a858bbdbae5cf7 Author: Harry Kalogirou <[email protected]> Date: Thu Mar 28 12:07:21 2024 +0200 Update vyper/codegen/stmt.py Co-authored-by: Charles Cooper <[email protected]> commit 50cb1b4a546fe6312f0dba3e2cf1cdfe685eca2c Author: Harry Kalogirou <[email protected]> Date: Thu Mar 28 12:05:59 2024 +0200 lint commit 85bbd8c87f19177ed1efd83723c2b82cf7ebc433 Merge: fec8b84a 45959387 Author: Harry Kalogirou <[email protected]> Date: Thu Mar 28 12:05:28 2024 +0200 Merge branch 'master' into feature/venom_updates commit fec8b84af82f5e53a34e10efcb2b62e8f4096ade Author: Harry Kalogirou <[email protected]> Date: Wed Mar 27 09:49:20 2024 +0200 ensure revaluation order for select commit 3e53d7f5fdf296ef0b5803400909c4183b8a64a0 Merge: a5a1844a 6e9b2c98 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 26 22:33:49 2024 +0200 Merge branch 'master' into feature/venom_updates commit a5a1844a6a5c292ff48d692f13eed341fbbf79f2 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 26 22:31:12 2024 +0200 add DominatorTree.build_dominator_tree() commit 52c6f61c0fa82ad21044ff645e0b15660e15479a Author: Harry Kalogirou <[email protected]> Date: Tue Mar 26 22:23:41 2024 +0200 commenting commit 84004815ac4e23717f81cff8fe0d62219611a71f Author: Harry Kalogirou <[email protected]> Date: Tue Mar 26 22:19:26 2024 +0200 rename variables, refactor code commit ebf776ea388f6e6164b2dace25a5ea89ed9ebe87 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 26 22:18:50 2024 +0200 refactor dominator tree constructor commit b1ba5cbd1a02c52635a2a8cf60a192646e8d097e Author: Charles Cooper <[email protected]> Date: Tue Mar 26 12:43:42 2024 -0400 add review commit cedd51802ce3e08abd927773adb1bed603f20dd9 Merge: c3b4dc70 ea7f0818 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 26 17:41:42 2024 +0200 Merge branch 'master' into feature/venom_updates commit 64c107d5c4b85a8f7356b3cda481688c381beef0 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 26 11:48:02 2024 +0200 update dominator tree usage commit 193f2751ce708c156734f97fda75f6da91c34d60 Merge: ee301dab c3b4dc70 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 26 11:44:21 2024 +0200 Merge branch 'feature/venom_updates' into feature/sccp commit c3b4dc70da99f6ba4e1a54ef3d44fdd3f3e7ae42 Author: Harry Kalogirou <[email protected]> Date: Sun Mar 24 10:37:32 2024 +0200 revert mstore evaluation order commit 990951320a6f9db2148a1ce90aed4ca2f311a2ca Author: Harry Kalogirou <[email protected]> Date: Sun Mar 24 10:27:43 2024 +0200 protect b from double evaluation commit affdb09db4c486783aecd263f64061421340f17b Author: Harry Kalogirou <[email protected]> Date: Sun Mar 24 10:24:24 2024 +0200 change mstore evaluation order commit 10d3c82b503d84264c89d6b491f21403cc9a68e4 Author: Harry Kalogirou <[email protected]> Date: Sun Mar 24 10:19:50 2024 +0200 lint commit 15573c4c27ecb52c2e7c1150b44fdbb733e394a4 Merge: 0a0d5925 91a9401c Author: Harry Kalogirou <[email protected]> Date: Sun Mar 24 10:16:33 2024 +0200 Merge branch 'feature/venom_updates' of github.com:harkal/vyper into feature/venom_updates commit 0a0d59257e5fc105b96e46938300b61ff9841de7 Merge: 91ea9bde cedf7087 Author: Harry Kalogirou <[email protected]> Date: Sun Mar 24 10:16:18 2024 +0200 Merge branch 'master' into feature/venom_updates commit 91a9401cbe86577d8d0ce5dfe4cf775e3aca7519 Author: Charles Cooper <[email protected]> Date: Sun Mar 24 03:08:21 2024 +0000 fix cursed __repr__ function commit c05bcfffa8a9de7aef63be95cc32e59d4d3f3255 Author: Charles Cooper <[email protected]> Date: Sat Mar 23 23:32:36 2024 +0000 add some review comments commit 544c90cb95a50b5325cb9b72dbdb5569a9a1a5ac Author: Charles Cooper <[email protected]> Date: Sat Mar 23 19:17:17 2024 -0400 add some comments, sanity check commit 91ea9bde11bfaefc585c2058ce25d6c33efb1024 Author: Harry Kalogirou <[email protected]> Date: Sun Mar 24 00:04:32 2024 +0200 lint commit fb5d87d6524f13bd7b9683fd8ac643f7b87443da Merge: 66977b49 e5892786 Author: Charles Cooper <[email protected]> Date: Sat Mar 23 17:19:30 2024 +0000 Merge branch 'master' into feature/venom_updates commit 66977b49445ee2530c7f2f8fec7755c71e3b710d Author: Charles Cooper <[email protected]> Date: Fri Mar 22 21:25:16 2024 +0000 remove some xfails commit 6f9923e0d8ec6f9bb2d9f0cff36256a9baffeb06 Author: Harry Kalogirou <[email protected]> Date: Fri Mar 22 23:18:19 2024 +0200 lint commit 8bc466fb1cc6e8d5bc8bdb34934be4c07079dbdf Author: Harry Kalogirou <[email protected]> Date: Fri Mar 22 23:14:08 2024 +0200 fix workflow commit 0e59adbdfe4932053474033c09467167cf422f3f Merge: 84a02d76 58e1a336 Author: Harry Kalogirou <[email protected]> Date: Fri Mar 22 19:35:17 2024 +0200 Merge pull request #5 from charles-cooper/perf/venom improve venom performance commit 58e1a336302b12846754dcf65302869cebc95be8 Author: Charles Cooper <[email protected]> Date: Fri Mar 22 13:09:32 2024 -0400 fix a couple tests commit afa51731e2444efd9bfd5408849aa621c230a1d3 Author: Charles Cooper <[email protected]> Date: Fri Mar 22 13:04:15 2024 -0400 some more small optimizations commit 84a02d76af58f3a7b8b2ed64b4320351ff1f613f Author: Harry Kalogirou <[email protected]> Date: Fri Mar 22 18:40:38 2024 +0200 mark test commit 3e4de66300068586884ff34888200d7f2e793aad Author: Harry Kalogirou <[email protected]> Date: Fri Mar 22 18:38:50 2024 +0200 cleanupo commit bcfa42ddd0e0e163b41bbcfc53a1fefc3de4d630 Author: Charles Cooper <[email protected]> Date: Fri Mar 22 12:28:24 2024 -0400 OrderedSet hide dict implementation better commit 6ebf97707efa306c3e4be71999407024f3a1ecd4 Author: Charles Cooper <[email protected]> Date: Fri Mar 22 11:21:12 2024 -0400 add comment commit fbe4e2828d8732a5ddf2910ea2149b7e8639a94c Author: Charles Cooper <[email protected]> Date: Fri Mar 22 11:17:41 2024 -0400 index basic blocks commit 86acccb10baa773584e89702fbdf968bb2831147 Author: Charles Cooper <[email protected]> Date: Fri Mar 22 11:12:00 2024 -0400 improvements to OrderedSet performance commit ef78ccf9e38bbf8305e920dc32113e7f6ea806c1 Author: Harry Kalogirou <[email protected]> Date: Fri Mar 22 15:59:15 2024 +0200 before cleanup commit 1325d48024c5c5d8e10d7d4fbb8f5ba7b93a24b8 Author: Harry Kalogirou <[email protected]> Date: Fri Mar 22 00:16:18 2024 +0200 revert commit 46fe75783d500e6887d6dbc79a5d3357353c7525 Author: Harry Kalogirou <[email protected]> Date: Fri Mar 22 00:16:02 2024 +0200 fix dominator test commit d72a41f3a4a4e02987a041ad09e6b8ae8e98e1d2 Author: Harry Kalogirou <[email protected]> Date: Fri Mar 22 00:15:53 2024 +0200 add volatile instruction commit 06d216fe76d59f5d720f3a8f2700fa7ac6ea7ac3 Author: Harry Kalogirou <[email protected]> Date: Thu Mar 21 19:02:12 2024 +0200 lint commit 50146d1b85c83b60632dfd69a4a11b40514c360c Author: Harry Kalogirou <[email protected]> Date: Thu Mar 21 18:56:15 2024 +0200 depth first commit 3c88c50de85f572ae0a183c0ad707a313aff32a0 Author: Charles Cooper <[email protected]> Date: Thu Mar 21 12:43:59 2024 -0400 lint commit 625996205151d8c4a18dce7694a4160a8d238b2d Author: Harry Kalogirou <[email protected]> Date: Thu Mar 21 16:21:24 2024 +0200 update dominator users commit 2a404cc02fe0720c08f77f1fb20d09767cf64310 Author: Harry Kalogirou <[email protected]> Date: Thu Mar 21 15:39:49 2024 +0200 add documentation commit 20536bf3ba5381a4d8193e09465d8fde2b864711 Author: Harry Kalogirou <[email protected]> Date: Thu Mar 21 15:35:52 2024 +0200 variable name elaboration commit 0b5e7645c2e4f930a843ba6d33d5ea2b5ef63d42 Author: Harry Kalogirou <[email protected]> Date: Thu Mar 21 09:08:00 2024 +0200 remove unnecessary check commit 54feec49c910e84cd59cfcf6dce203243a60d362 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 20 12:16:39 2024 +0200 assert there is a producing instruction commit 0c066f6abd908a640f6214c9ee64f5e1499f5704 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 20 12:10:16 2024 +0200 lint commit b942c0329cfdc5b44e1b8930c5709ef40733c277 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 20 12:07:58 2024 +0200 rename members commit 560e4a94d14123d7ae3a4d89627aae74076a5892 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 20 12:05:29 2024 +0200 remove debugging leftover commit aff18ad9a79d0efbc4888bd0bb4aa1b9b8ac0942 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 20 12:04:36 2024 +0200 added comment commit a866575a09585102a6e03732842cc92f92d0c8a2 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 20 11:58:23 2024 +0200 style commit 43185a0ce51fee2b96d6a5fba7531ac73b950142 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 20 11:57:18 2024 +0200 style change commit c42011666a9f1022c3971ecffdb4585bb5aab02d Author: Harry Kalogirou <[email protected]> Date: Wed Mar 20 11:56:06 2024 +0200 variable rename commit 5c453f30c18256c333d034d3663a16917099d5d5 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 20 11:51:10 2024 +0200 bound check int literal commit e5d2c4598286e470bf0c97270ffec2162199486b Author: Harry Kalogirou <[email protected]> Date: Wed Mar 20 11:45:53 2024 +0200 compile with experimental commit 752b685189588ad6e1d4caa5c07ec4777939da51 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 20 11:43:50 2024 +0200 remove unnecessary assert commit 5e7f93cf7ee85513cdaf776c1f9772792716171f Author: Harry Kalogirou <[email protected]> Date: Wed Mar 20 11:36:19 2024 +0200 equalities commit 5c58549db5dd0a4d7d08a937f291e894c01a4b62 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 20 11:34:38 2024 +0200 fixes commit 6de6e7dde4b2b0a5d1878a047cd9302198b153c0 Author: Charles Cooper <[email protected]> Date: Tue Mar 19 12:07:06 2024 -0400 wip - alloca commit 5ec9e6052df50cf9e21935d86cc3eed69e0c226a Author: Charles Cooper <[email protected]> Date: Tue Mar 19 11:45:00 2024 -0400 count iterations, not changes for exception commit 2a7cb0bbd397660b4909b513e8d5d2530d0a1688 Author: Charles Cooper <[email protected]> Date: Tue Mar 19 11:43:04 2024 -0400 add a couple comments commit c3e0ac91e4d8fa54156e43501d7d0a2c4ae657fc Author: Charles Cooper <[email protected]> Date: Tue Mar 19 11:38:54 2024 -0400 simplify ir_node_to_venom commit 5f4f5489fb9d983fbc42cfa81f87efea270990b2 Merge: 477643e6 41474df9 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 19 17:19:07 2024 +0200 Merge branch 'feature/venom_updates' of github.com:harkal/vyper into feature/venom_updates commit 41474df95ddbc2e8c8bfb69de71c50f44b9e68a1 Author: Charles Cooper <[email protected]> Date: Tue Mar 19 11:18:55 2024 -0400 rename a variable commit 477643e64bdcbf2e0c3951c91322b4120f62eb52 Merge: ea076324 34316f35 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 19 17:01:36 2024 +0200 Merge branch 'feature/venom_updates' of github.com:harkal/vyper into feature/venom_updates commit 34316f352b68c72065baa6bff63ae575f5257ff7 Author: Charles Cooper <[email protected]> Date: Tue Mar 19 10:52:58 2024 -0400 move an optimization to assembly commit e37e54a73fbdea0b60948be1d98dad235b2af996 Author: Charles Cooper <[email protected]> Date: Tue Mar 19 10:19:43 2024 -0400 fixes from bad merge commit ea076324460378fcbdffd2f795525d0d2b1cd917 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 19 16:35:15 2024 +0200 remove print commit 9c63c3eef47bce81a12757d5ea38f0f195c31595 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 19 16:31:55 2024 +0200 fix typo commit 71882ed5ec76132cfae00afec056e9ccbd8bc9f1 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 19 16:29:38 2024 +0200 add passthrough_data commit 540b71a7602e24e9c11613388fed7c81bc802e6c Merge: d7ef9efc 84f1b695 Author: Charles Cooper <[email protected]> Date: Tue Mar 19 10:09:18 2024 -0400 Merge branch 'feature/venom_updates' of github.com:harkal/vyper into feature/venom_updates commit d7ef9efcdadffca00395a3c5fa3f44078b356dd2 Author: Charles Cooper <[email protected]> Date: Tue Mar 19 10:08:47 2024 -0400 rename venom_pipeline to experimental-codegen commit 2330f83fa7e4ad0ef7050fd6cd34abd3b11d8f90 Merge: 46f5f8c8 58ecff59 Author: Charles Cooper <[email protected]> Date: Tue Mar 19 10:05:02 2024 -0400 Merge branch 'master' into feature/venom_updates commit 84f1b695101a8ff8fc3f3aa24be01732c8d5252f Author: Harry Kalogirou <[email protected]> Date: Tue Mar 19 15:28:08 2024 +0200 docs commit 25fa225c71bac8e6f7ae2b8acbaaf913039ee9a0 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 19 15:25:32 2024 +0200 cleanup commit 1cd994c45ae30891f47edd218f0a267214fc2c13 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 19 11:09:45 2024 +0200 cleanup commit 24730adcbea9e6be95631fcffea73cf8870b70fd Author: Harry Kalogirou <[email protected]> Date: Mon Mar 18 20:37:10 2024 +0200 optimize double swaps commit ee301dab014d748af8f9eede95fdef70b229f305 Merge: 49998ed0 dab020db Author: Harry Kalogirou <[email protected]> Date: Fri Mar 15 13:10:12 2024 +0200 Merge branch 'feature/venom_updates' into feature/sccp commit dab020db2c992ebf86dc544ea83fa4a8baecffc1 Author: Harry Kalogirou <[email protected]> Date: Fri Mar 15 13:08:15 2024 +0200 dfg testing commit 46f5f8c8465b7bc6e1eb962a96f0be9851bf39d8 Author: Harry Kalogirou <[email protected]> Date: Thu Mar 14 11:14:15 2024 +0200 stack reorder pass scaffold commit 31e6c8eb6cf9253151244f1732c6e0237b185bb3 Author: Harry Kalogirou <[email protected]> Date: Thu Mar 14 11:13:45 2024 +0200 small stack optimization commit dfc9b8602af2b0049bbad6e1919bb8142810a20d Author: Harry Kalogirou <[email protected]> Date: Thu Mar 14 11:13:25 2024 +0200 fix commit 5477ec179239d584e469d489468915fc1d8cefc4 Author: Harry Kalogirou <[email protected]> Date: Thu Mar 14 11:13:14 2024 +0200 graphviz output for DFG commit 559a80b7c07712bbd1fc65e4eaa0cc846ae9819d Author: Harry Kalogirou <[email protected]> Date: Thu Mar 14 10:07:50 2024 +0200 update test commit 4d700775f138a92649298bfb2cc88e0258580e38 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 13 21:12:36 2024 +0200 no operation instructions for translator commit d513bb4c70383223de930a1196d3490fa487ea6e Author: Harry Kalogirou <[email protected]> Date: Wed Mar 13 21:08:09 2024 +0200 cleanup, optimization commit 651a076c1aa774bb42063c2e9c25668c84f699d4 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 13 12:51:34 2024 +0200 optimization commit 7fc72a2509d04de06b8cb5e94c7f8c56b7437899 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 13 12:38:57 2024 +0200 change source_pos to ast_source commit 5a22d49fd6554a3b5bda57e313c4fdb6e3c515d6 Merge: 41cf781a a9ee6414 Author: Harry Kalogirou <[email protected]> Date: Wed Mar 13 12:34:49 2024 +0200 Merge branch 'master' into feature/venom_updates commit 49998ed026fd39e9ec4e09c8578c1379321d01cd Merge: 59d062f4 41cf781a Author: Harry Kalogirou <[email protected]> Date: Tue Mar 12 14:33:56 2024 +0200 Merge branch 'feature/venom_updates' into feature/sccp commit 41cf781a5ac3b26bcf17457f677cfd3743960f64 Merge: 4059e88f 39027dc8 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 12 14:32:33 2024 +0200 Merge branch 'master' into feature/venom_updates commit 59d062f43a6ba4c2d8ba2880ef1f11edaa6c9095 Merge: 3d1a5fb8 4059e88f Author: Harry Kalogirou <[email protected]> Date: Tue Mar 12 09:56:50 2024 +0200 Merge branch 'feature/venom_updates' into feature/sccp commit 4059e88f25c0d4a6a63cab4847bde0143f8b1a8e Author: Harry Kalogirou <[email protected]> Date: Tue Mar 12 09:56:31 2024 +0200 Add cfg and cfg_runtime output types commit 3d1a5fb802f077be54edf50ac0e7ce9594b5b98c Author: Harry Kalogirou <[email protected]> Date: Tue Mar 12 09:50:34 2024 +0200 fix commit 74a40344d1eb9465bb4295b429f53e8057aa1d38 Merge: dbc322a6 743b15df Author: Harry Kalogirou <[email protected]> Date: Tue Mar 12 09:18:25 2024 +0200 Merge branch 'feature/venom_updates' into feature/sccp commit 743b15dfef48a4e15b90374ce0f180c8579e4942 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 12 08:33:38 2024 +0200 mark xfail venom commit 47dfd0525f459e9589bf09816b6476cd6f12d5b5 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 12 00:38:35 2024 +0200 mark xfail commit 7e9b87802797573cb1caa87a7f881ad2bd0a0974 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 12 00:34:35 2024 +0200 use exit instruction commit e2b51abaebf26e4ff2cf9a15b7c71e8ed524e336 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 12 00:17:56 2024 +0200 mark tests xfail for venom commit 7e9ee92ad30f5a18bee4b4564c13d83105dc999b Author: Harry Kalogirou <[email protected]> Date: Tue Mar 12 00:06:59 2024 +0200 exit venom instruction commit 5e496ef33c0e97701f7f16ba33183a719d8e784a Author: Harry Kalogirou <[email protected]> Date: Mon Mar 11 18:12:43 2024 +0200 remove unsused imports commit 926eeb3dbe2ce032023edf95e87d3bf8d4469430 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 11 18:10:42 2024 +0200 simplify jumps commit f2e3871958cbdb1dd8852fc0e70cbdc0a2212903 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 11 17:01:26 2024 +0200 update cfg on remove unreachable blocks commit f1465da377723cf2d8ba09f73c6dc2b4aea8fda8 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 11 16:32:46 2024 +0200 simplify cfg refactor and optimization commit 75fc03522c568cc034281d5dcea85ccac0220156 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 11 13:10:36 2024 +0200 raise on dup out of stack commit 86ea74fcff263c0f323e634025dd994b49e6cb3b Author: Harry Kalogirou <[email protected]> Date: Mon Mar 11 00:40:28 2024 +0200 fix commit c0b7de076c55566e88764b59aff03c4725a8ce3b Author: Harry Kalogirou <[email protected]> Date: Sun Mar 10 23:57:16 2024 +0200 simplify cfg commit f455b666dfd789821545f10f4affc8a52cea9591 Author: Harry Kalogirou <[email protected]> Date: Sun Mar 10 00:36:36 2024 +0200 fix tests for venom commit 7994423cb53217cab28f66cafff8306d7dd8f08b Author: Harry Kalogirou <[email protected]> Date: Sun Mar 10 00:31:53 2024 +0200 fix test for venom commit ea8367402b44ff1940a937eefac20092eaa0e715 Author: Harry Kalogirou <[email protected]> Date: Sat Mar 9 23:35:28 2024 +0200 update to new external call syntax commit a87076e0054e3d55f8b3d1f284733b8fea23b970 Author: Harry Kalogirou <[email protected]> Date: Sat Mar 9 23:13:52 2024 +0200 lint commit 7bc1b13cc40bb8e8bb336fcd885b22c847c88891 Author: Harry Kalogirou <[email protected]> Date: Sat Mar 9 23:10:40 2024 +0200 revert force experimental flag commit 2bf47c7df198fb20a3ace284f5c0d7e15602115f Author: Harry Kalogirou <[email protected]> Date: Sat Mar 9 23:07:43 2024 +0200 lint commit c017371256ae45be1334bb54568efb5eb28d64c0 Author: Harry Kalogirou <[email protected]> Date: Sat Mar 9 23:00:26 2024 +0200 update test for venom commit afdb086998b7945e567b65415c35578637fe0ee5 Merge: 3ebd99ee 9428196a Author: Harry Kalogirou <[email protected]> Date: Sat Mar 9 22:33:25 2024 +0200 Merge branch 'master' into feature/venom_updates commit 3ebd99eed5354c9e88dc823ead135767d6a5f1a3 Author: Harry Kalogirou <[email protected]> Date: Sat Mar 9 12:36:02 2024 +0200 pass down source pos commit 862bcd8161ab4dba76865c79ec3e6b94a0449b69 Author: Harry Kalogirou <[email protected]> Date: Sat Mar 9 00:27:03 2024 +0200 fix test_assert_reason_revert_length commit dbc322a628bb977ae289b5208a1e1fe8736e3f2d Merge: 792443bb b62701ee Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 23:40:07 2024 +0200 Merge branch 'feature/venom_updates' into feature/sccp commit b62701eed6f28073ba5ba0a887153afe30018dcd Merge: e8c8ba0e cf37ec27 Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 23:39:32 2024 +0200 Merge branch 'master' into feature/venom_updates commit e8c8ba0ef7f1d3394672cc42cafb2488c716434e Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 21:14:44 2024 +0200 handle raw data commit b01c7309eb34e00e155fb0c1c019fa2fdf1efc30 Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 21:14:30 2024 +0200 Update dense selector to emit the target constrained djump instruction commit 14450967d1b7cdc8b1e772e25558619baabb4f4a Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 21:00:56 2024 +0200 codesize dispatcher commit 792443bb2512590bb5aabe48e635603096a29d21 Merge: 957e773c 338dc09b Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 20:03:13 2024 +0200 Merge branch 'feature/venom_updates' into feature/sccp commit 338dc09bffcd5ab97379efb88094154d34ca2172 Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 19:49:39 2024 +0200 remove unused imports commit ef4e8a21f633811e6ae66c68cfb1558a46c3bbea Merge: b828a86f 787c562a Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 19:34:35 2024 +0200 Merge branch 'master' into feature/venom_updates commit b828a86f9c8b7f3f6bf49ed51d35a35417aa514d Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 16:26:58 2024 +0200 fix commit 7a650dfc7a7f0bd0e7ab0e711ba23c273feada49 Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 13:06:48 2024 +0200 cleanup commit 94e7328e426d64003826f3a7d489ac00b6365c76 Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 13:03:07 2024 +0200 fix lib issues commit bbb25fa68c97d07652cbd55cb266deaf39ad105b Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 00:35:37 2024 +0200 temp commit 9d7336de9a753ad6a2b974243a0a56a784761537 Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 00:10:26 2024 +0200 more fixes commit 6b74b20f513a5b73ae130b04a95196de7dcc3e0e Author: Harry Kalogirou <[email protected]> Date: Fri Mar 8 00:03:07 2024 +0200 var list commit 43a11c227f60ede182483f3391f55303a5f58094 Author: Harry Kalogirou <[email protected]> Date: Thu Mar 7 23:50:52 2024 +0200 cleanup commit 957e773c7b364c0540c9bc2d13c974ca3b326df7 Merge: a92af68a 5aa6c893 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 5 22:01:45 2024 +0200 Merge branch 'feature/venom_updates' into feature/sccp commit 5aa6c893af688e9950bd2dde58f1203476d0c0c9 Merge: a0ff8286 327e95ae Author: Harry Kalogirou <[email protected]> Date: Tue Mar 5 21:59:14 2024 +0200 Merge branch 'master' into feature/venom_updates commit a0ff82864ece39fe4553c29a3251bed1a967243b Author: Charles Cooper <[email protected]> Date: Tue Mar 5 08:21:31 2024 -0800 force strict=True for venom_xfail commit 04260acd2407a04cc17049e48ccf49ce53abce06 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 5 18:20:58 2024 +0200 fix case where cfg_in empty on non entry nodes commit a92af68ae704e9421afe5ecf320bf73a3556b8f3 Merge: 005e38eb 7f969b9b Author: Harry Kalogirou <[email protected]> Date: Tue Mar 5 11:18:43 2024 +0200 Merge branch 'feature/venom_updates' into feature/sccp commit 7f969b9b859d508ec2d3aaa1969d7ce11b9a0b74 Merge: 51075a88 d3e7b7d3 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 5 11:18:02 2024 +0200 Merge branch 'master' into feature/venom_updates commit 005e38eb6dd06d2be8ee20d7fc384fa82694fd37 Merge: 36e22a67 d3e7b7d3 Author: Harry Kalogirou <[email protected]> Date: Tue Mar 5 10:04:56 2024 +0200 Merge branch 'master' into feature/sccp commit 36e22a678a10729e571e992df78c399031085c8b Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 18:59:28 2024 +0200 fixes commit 3601c23a4f0476dfb2fafbaf0979515ec2e90821 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 16:26:56 2024 +0200 fixes commit a95ff489fbf288cf4d3d51651c9011012d4845ba Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 15:56:30 2024 +0200 more tests commit bba4cbb81ecbe0599295531e51501d77914d64a0 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 15:40:12 2024 +0200 update test commit b29e353952b7d6648f32ae6c207ad80d030a9994 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 15:37:06 2024 +0200 phi handling commit c6c79ba080375e665f7c4a818bfcca75e373e4d0 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 15:36:44 2024 +0200 add parent to inserted phi instructions commit 51b3cf18ac5310c7753b20ac368e991acd6e592d Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 15:11:19 2024 +0200 add first() method in OrderedSet commit 71aca413ed834e5fe5bb7eb4b7acc96921048a53 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 12:47:42 2024 +0200 finalise test1 and add new onw commit 1c468a22b3687c581bc8ae10f5b933bd2b7c2324 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 12:47:20 2024 +0200 more implementation commit a4758b1cf7a407dc3225b69d7e17aa140574ec8c Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 11:47:51 2024 +0200 progress commit e7d25e95ba67913c0fa87e7cb094d9cf41af8453 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 11:47:41 2024 +0200 add forgoted initializer commit 2ac9c477c24c86d5745f449d0d9a5fa2af887466 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 10:35:59 2024 +0200 update test commit 5a543be14aeb97afc7bd2f515e2a545de4a1e654 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 10:35:52 2024 +0200 compute uses commit 82f3f24acba1b3fb95cbed2006dbb4385e7fa9b1 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 10:20:49 2024 +0200 get_uses() in basic_block commit b19d084c3fb3c89daa57afdaf42138df6c46b387 Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 10:20:32 2024 +0200 Use pass instances instead of classes commit 69d30c362c72ce02b17727fd631f9b231b4a771f Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 09:47:39 2024 +0200 add test sccp commit 0c563e7b3262052ffa5fe21bae5f16e5b75a763e Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 09:44:49 2024 +0200 visitPhi commit 9c1e5330081e808543dc687e0357a38f659b0cdd Author: Harry Kalogirou <[email protected]> Date: Sun Mar 3 19:34:21 2024 +0200 data structures commit 92eed811efc89f3bd11fed70be3329d5456c6e94 Author: Harry Kalogirou <[email protected]> Date: Sat Mar 2 22:43:30 2024 +0200 gg commit df9b90baa5b18681931709048935f348ceadef67 Author: Harry Kalogirou <[email protected]> Date: Sat Mar 2 11:15:46 2024 +0200 add sccp pass commit 51075a88ea9ba0f8b1278351eb55ee49a40d775e Merge: 9f595ca1 d7b39b6e Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 09:48:51 2024 +0200 Merge branch 'feature/venom_updates' of github.com:harkal/vyper into feature/venom_updates commit 9f595ca11edf1ff5e67aa310205535a5ad9b461d Author: Harry Kalogirou <[email protected]> Date: Mon Mar 4 09:48:15 2024 +0200 cleanup make_ssa test commit d7b39b6e3da088d02fb4f541289c50f622731a59 Author: Charles Cooper <[email protected]> Date: Sat Mar 2 11:44:20 2024 -0500 add `#pragma experimental-codegen` commit b0785f877dbcc871c152492bc40235112f43357f Author: Charles Cooper <[email protected]> Date: Fri Mar 1 20:45:10 2024 +0000 some more xfails commit 619ab3dea916cf09396fd9948aa1bf7ded07ac07 Author: Charles Cooper <[email protected]> Date: Fri Mar 1 20:31:59 2024 +0000 update workflow file commit a8053031426f93fa3e4255e4fb651b0f86b08bac Author: Charles Cooper <[email protected]> Date: Fri Mar 1 20:30:55 2024 +0000 fix lint commit 60f0b6b8604e9fc4338fa590d3cc954ec69e31f5 Author: Charles Cooper <[email protected]> Date: Fri Mar 1 20:23:39 2024 +0000 mark more xfails commit 28c10a69274eb2ae2852d6ead29bdb9f03bf1d99 Author: Charles Cooper <[email protected]> Date: Fri Mar 1 20:23:26 2024 +00…
5c7bcc7
to
3dfdda2
Compare
@@ -1,14 +1,19 @@ | |||
from vyper.utils import OrderedSet | |||
from vyper.venom.analysis import DFG | |||
from vyper.venom.analysis.dfg import DFGAnalysis |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it will be nice to have vyper/venom/analysis/__init__.py
which exposes the classes, so we don't need to import each class from the specific module
vyper/venom/passes/dft.py
Outdated
def __init__(self, manager: IRPassManager): | ||
super().__init__(manager) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unenecessary constructor implementation
vyper/venom/passes/make_ssa.py
Outdated
def __init__(self, manager: IRPassManager): | ||
super().__init__(manager) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
useless constructor
vyper/venom/passes/normalization.py
Outdated
def __init__(self, manager: IRPassManager): | ||
super().__init__(manager) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
useless constructor implementation
""" | ||
self.entry_points.remove(label) | ||
@property | ||
def entry(self) -> IRBasicBlock: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe entry_block?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or entry_point
vyper/venom/function.py
Outdated
@@ -188,18 +156,12 @@ def _compute_reachability_from(self, bb: IRBasicBlock) -> None: | |||
return | |||
bb.is_reachable = True | |||
for inst in bb.instructions: | |||
if inst.opcode in CFG_ALTERING_INSTRUCTIONS or inst.opcode == "invoke": | |||
if inst.opcode in CFG_ALTERING_INSTRUCTIONS: # or inst.opcode == "invoke": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we just delete the comment then?
calculate_cfg(ctx) | ||
ctx.remove_unreachable_blocks() | ||
self.manager.force_analysis(CFGAnalysis) | ||
fn.remove_unreachable_blocks() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think this is redundant, because remove_unreachable_blocks()
also gets run in SimplifyCFG pass
vyper/venom/passes/pass_manager.py
Outdated
from vyper.venom.function import IRFunction | ||
|
||
|
||
class IRPassManager: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this looks very closely coupled to IRAnalysis
. maybe it should go in the same file, and also be renamed to IRAnalysisManager
vyper/venom/analysis/cfg.py
Outdated
in_bb.add_cfg_out(bb) | ||
|
||
def invalidate(self): | ||
super().invalidate() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
doesn't super().invalidate()
throw an exception?
|
||
def invalidate(self): | ||
from vyper.venom.analysis.dominators import DominatorTreeAnalysis | ||
from vyper.venom.analysis.liveness import LivenessAnalysis |
Check notice
Code scanning / CodeQL
Cyclic import Note
vyper.venom.analysis.liveness
note: large contracts i was testing come from 24s to ~6-7s(!) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice work -- very nice cleanup. merging, although i think we need to do a follow-up PR to investigate the tuning issues as discussed here #3983 (comment)
IRContext
and IRPassManager
IRContext
and IRPassManager
IRContext
and IRPassManager
IRContext
and IRAnalysisCache
What I did
This PR completes a big refactor of the venom codebase, while introducing
IRContext
andIRPassManager
.IRContext
is now encapsulating the whole Venom context of compilation which now contains all theIRFunction
s.The pass manager
IRPassManages
attempts to clean up the pass/analysis handling, by providing a way for passes to request and retrieve specific analyses over the Venom code.How I did it
How to verify it
Commit message
Description for the changelog
Cute Animal Picture