Commit Graph
177 Commits
Author SHA1 Message Date
Alex Beregszaszi 2e8616e2e4 Run prequisite steps for VarNameCleaner in tests 2020-08-05 22:12:51 +01:00
Alex Beregszaszi ad6f39376f Return object format in expectation for yulOptimizerTests 2020-08-05 11:55:13 +01:00
chriseth a3a9630d8b Optimize byte-after-shr for shift amounts that are not multiples of 8. 2020-08-04 12:16:23 +02:00
Bhargava Shastry 5100effeec yul: Set non movable flag to true in simplification rule for byte of right-shifted expression 2020-08-03 17:30:52 +02:00
chrisethandHarikrishnan Mulackal 711ed588d7 Require for loop init rewriter for SSA.
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
2020-07-03 19:24:31 +02:00
chriseth e0b1d8b9bd Make DataFlowAnalyzer aware of storage / memory slot after sload / mload. 2020-07-01 13:45:25 +02:00
chriseth a06ac0f39f Merge pull request #8958 from ethereum/evm-version-dependent-rules
[yul] Add support for EVM version-dependent rules.
2020-05-27 12:52:51 +02:00
Christian Parpart b7fa5d5040 Mark EVM instruction pc() as deprecated when used in inline assembly. 2020-05-27 12:07:23 +02:00
Alexander Arlt a7b89065ca [yul] Add support for EVM version-dependent rules. 2020-05-27 11:57:08 +02:00
chriseth d136e7dc95 Rules for optimizing idempotency for bitwise operations. 2020-04-23 14:21:00 +02:00
a3d4 3b9e926559 Moved "step" from settings to expectations. 2020-03-19 13:59:05 +01:00
Djordje Mijovic c891597204 Adding ssa type check and test for that one 2020-02-24 15:05:19 +01:00
Djordje Mijovic 2efda4129b Adding test for multi return values including bool in evmTyped dialect. Calling zeroLiteralForType from inliner 2020-02-24 15:05:19 +01:00
chriseth bddbcbe6a4 Use bool type in word size transform. 2020-02-24 15:05:19 +01:00
chriseth a52305d3bd Use bool type in conditional simplifier and for loop condition into body. 2020-02-24 15:05:19 +01:00
Djordje Mijovic a52c9af5b9 Adding vardecl optimization for boolean types 2020-02-24 15:05:19 +01:00
chriseth b9b36cd89e Properly assign types in ExpressionSplitter. 2020-02-24 15:05:19 +01:00
chriseth 6eec968365 Test updates. 2020-02-24 15:05:18 +01:00
Gaith Hallak 24d6702986 [Yul] Prune functions that call each other but are otherwise unreferenced 2020-02-11 20:39:32 +03:00
chriseth 23667ce12d Update Yul optimizer tests. 2020-01-29 17:25:25 +01:00
chriseth 40c0602b5c Do not rematerialize in loops. 2020-01-08 09:56:08 +01:00
chriseth 25d3f27c11 Tune Rematerializer 2020-01-08 09:56:08 +01:00
chriseth 3994c9135f Tests. 2019-12-29 15:53:47 +01:00
chriseth 1e59c19166 Dialect setting for yul optimizer tests. 2019-12-18 21:54:30 +01:00
chriseth b6fc703a27 Merge remote-tracking branch 'origin/release' into HEAD 2019-12-17 19:47:59 +01:00
chriseth 244b011a30 More test cases. 2019-12-17 17:08:27 +01:00
chriseth 143471fe87 Tests. 2019-12-17 15:47:32 +01:00
chriseth 42d9a8e962 Merge remote-tracking branch 'origin/develop' into develop_060 2019-12-04 17:01:44 +01:00
chriseth bbeb093abf Detect loops in call graph generator. 2019-12-03 21:38:20 +01:00
Daniel Kirchner 025a696bb0 Fix unrelated test failure. 2019-11-28 20:01:36 +01:00
chriseth f7fc42d8c3 Merge pull request #7826 from ethereum/develop
Merge develop into develop_060
2019-11-28 13:37:19 +01:00
chriseth 301215f186 Merge pull request #7461 from sifmelcara/licm
[YulOpt] Implement loop-invariant code motion
2019-11-28 12:00:19 +01:00
mingchuan db60d123d0 [YulOpt] Implement loop-invariant code motion 2019-11-28 11:59:29 +01:00
chriseth 1ebcc757e1 Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-27 19:14:08 +01:00
chriseth 9e9b643b93 Tune the suite. 2019-11-27 11:56:11 +01:00
chriseth 46ac16d25c Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-04 19:09:11 +01:00
chriseth cca7f01199 Tests for conditional unsimplifier 2019-11-01 14:07:25 +01:00
chriseth ce87f11885 Test updates 2019-11-01 14:01:56 +01:00
chriseth 61a2d44f38 Conditional unsimplifier 2019-11-01 14:01:56 +01:00
chriseth 21b9606ed3 Test updates. 2019-11-01 14:01:56 +01:00
chriseth 19ccdfb0b3 No into body. 2019-11-01 14:01:56 +01:00
chriseth 5d6e983be3 Conditional simplifier. 2019-11-01 14:01:56 +01:00
chriseth 499fe57d33 Tests 2019-10-29 14:32:16 +01:00
mingchuan 520a3ccfff [YulOpt] declare SSA var when control flow joins 2019-09-17 13:22:02 +02:00
chriseth 5859a69c44 Merge pull request #7409 from ethereum/forLoopOutOfBody
[Yul] Move for loop condition out of body.
2019-09-17 12:58:56 +02:00
chriseth 68986a58b6 Test. 2019-09-17 12:32:46 +02:00
chriseth 7a79742f3d Out of body again. 2019-09-17 12:30:15 +02:00
chriseth 2d601a4f23 Merge pull request #7414 from ethereum/refactorSSA
Refactor SSA transform.
2019-09-13 17:55:39 +02:00
chriseth 20bada4c60 Refactor SSA transform. 2019-09-12 20:07:39 +02:00
Daniel Kirchner f86c5da202 Fix SSA reverser in special case of declaration followed by self-assignment. 2019-09-12 18:17:13 +02:00