Daniel Kirchner
|
c341445f8e
|
Maintain disambiguation when generating new functions in StackToMemoryMover.
|
2021-06-28 18:11:57 +02:00 |
|
Daniel Kirchner
|
dfce7b667d
|
Move function arguments and return values.
|
2021-06-28 18:11:57 +02:00 |
|
Daniel Kirchner
|
284e8a103f
|
Remove potentially non-deterministic test case.
|
2021-06-09 14:42:16 +02:00 |
|
hrkrshnn
|
8b4eaeabbf
|
Added a few optimizer tests for Verbatim
|
2021-04-28 09:56:45 +02:00 |
|
Harikrishnan Mulackal
|
f162c484ca
|
Merge pull request #11026 from ethereum/resolve-keccak
Evaluate ``keccak256(a, const)``, when the value at memory location ``a`` is known at compile time and ``const <= 32``
|
2021-04-22 19:18:19 +02:00 |
|
hrkrshnn
|
b599235b8d
|
Skip resolving Keccak if AST contains msize.
Also a refactoring changing `m_optimizeMLoad` to `m_containsMSize`.
|
2021-04-22 18:19:47 +02:00 |
|
hrkrshnn
|
221292c278
|
Tests and changelog
|
2021-04-22 18:19:47 +02:00 |
|
chriseth
|
a6a3af58a0
|
Add test.
|
2021-04-22 17:23:56 +02:00 |
|
chriseth
|
00fb2d390b
|
Do not replace zeros by return variable.
|
2021-04-22 16:54:02 +02:00 |
|
hrkrshnn
|
0100f48e05
|
FunctionSpecializer: skip specializing recursive functions
This avoids potential pathological behaviour, like in Ackermann function.
|
2021-03-29 11:02:31 +02:00 |
|
hrkrshnn
|
2c75d1dfe4
|
Isoltest gas update for FunctionSpecializer
|
2021-03-29 11:02:31 +02:00 |
|
hrkrshnn
|
09998ceb0c
|
Tests for FunctionSpecializer
|
2021-03-29 11:02:18 +02:00 |
|
chriseth
|
2c8540b1f9
|
Yul optimizer test updates.
|
2021-03-18 08:42:49 +01:00 |
|
chriseth
|
40c27ccc22
|
Move AND with constant inside OR.
|
2021-03-09 15:26:19 +01:00 |
|
chriseth
|
612d8184d1
|
Update tests.
|
2021-02-16 15:50:48 +01:00 |
|
Leonardo Alt
|
40221a90c4
|
Update smtCheckerTests for z3 4.8.10
|
2021-01-26 10:18:52 +01:00 |
|
Bhargava Shastry
|
02b28b42e8
|
Remove fuzzer mode from yul optimizer unit test framework.
|
2021-01-18 10:27:58 +01:00 |
|
Daniel Kirchner
|
308549f950
|
Simplify test and add Changelog entry.
|
2021-01-06 11:33:08 +01:00 |
|
chriseth
|
d46da8e53c
|
Optimize iszero(sub(x, y)) to eq(x, y).
|
2020-12-22 15:11:48 +01:00 |
|
chriseth
|
f7a7e2928b
|
New test.
|
2020-12-10 18:35:13 +01:00 |
|
Harikrishnan Mulackal
|
2b9f040c48
|
Optimize exp when base is -1
|
2020-09-29 17:44:09 +02:00 |
|
Daniel Kirchner
|
7fa9a9d312
|
Merge pull request #9162 from ethereum/memoryEscalator
Memory Escalator
|
2020-09-21 20:03:38 +02:00 |
|
Daniel Kirchner
|
48f620fb50
|
Reverse the order of the memory offsets assigned to variables.
|
2020-09-17 22:13:27 +02:00 |
|
Daniel Kirchner
|
f4b42d1c72
|
Add stack limit evader.
|
2020-09-17 22:13:27 +02:00 |
|
chriseth
|
684fff34a9
|
Replace exp by shl.
|
2020-09-17 16:06:52 +02:00 |
|
chriseth
|
f73fb726af
|
Reasoning based optimizer.
|
2020-09-15 15:57:58 +02:00 |
|
chriseth
|
552a5f0913
|
Merge pull request #9314 from ethereum/inlineStartingFromLeaves
Handle "leaf functions" first in full inliner.
|
2020-09-14 20:22:48 +02:00 |
|
Harikrishnan Mulackal
|
b7944477a1
|
Update UnusedFunctionParameterPruner tests to avoid getting inlined
|
2020-09-14 17:59:50 +02:00 |
|
chriseth
|
8e39110a30
|
Remove flag.
|
2020-09-14 17:35:04 +02:00 |
|
chriseth
|
42c26e0bf5
|
Inline tiny functions first.
|
2020-09-10 17:01:20 +02:00 |
|
chriseth
|
f102feaf09
|
Handle "leaf functions" first in full inliner.
|
2020-09-10 17:01:19 +02:00 |
|
chriseth
|
6101bdf7e2
|
Name simplifier.
|
2020-09-10 16:23:29 +02:00 |
|
Harikrishnan Mulackal
|
974e35d09c
|
Tests and changelog
|
2020-09-03 13:15:38 +02:00 |
|
chriseth
|
e72afcba47
|
Fix inlining order to correspond to source order.
|
2020-08-26 10:20:18 +02:00 |
|
Harikrishnan Mulackal
|
bbf15c9af3
|
Tests and Changelog
|
2020-08-19 12:41:29 +02:00 |
|
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 |
|
chriseth
|
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 |
|