nishant-sachdeva
|
efbd3666a7
|
added optimization. shl comes out from being distributed over and
|
2022-11-11 01:16:14 +05:30 |
|
Daniel Lupu
|
b99f85ec65
|
Only apply rules for yul optimizer
|
2022-06-22 09:26:09 +02:00 |
|
Daniel Lupu
|
8c5f5c7db0
|
add rules for mod(mul(X, Y), A) & mod(add(X, Y), A)
|
2022-06-22 09:26:09 +02:00 |
|
Kamil Śliwak
|
caccd0a3e0
|
Always refer to the latest version of Boost in URLs
|
2021-09-24 15:35:33 +02:00 |
|
chriseth
|
2a8090d797
|
New simplification rules.
|
2021-08-19 12:51:54 +02:00 |
|
chriseth
|
16787ecfd6
|
Optimizer rules for signextend.
|
2021-08-16 18:54:33 +02:00 |
|
chriseth
|
d18db63843
|
Changelog entry.
|
2021-03-18 08:42:49 +01:00 |
|
chriseth
|
4bfa7e088e
|
Optimize multiplication by constant to shift.
|
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
|
d46da8e53c
|
Optimize iszero(sub(x, y)) to eq(x, y).
|
2020-12-22 15:11:48 +01:00 |
|
Harikrishnan Mulackal
|
2b9f040c48
|
Optimize exp when base is -1
|
2020-09-29 17:44:09 +02:00 |
|
chriseth
|
684fff34a9
|
Replace exp by shl.
|
2020-09-17 16:06:52 +02:00 |
|
chriseth
|
233604f94b
|
Remove ineffective rules.
|
2020-09-14 17:35:04 +02:00 |
|
chriseth
|
8e39110a30
|
Remove flag.
|
2020-09-14 17:35:04 +02: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 |
|
Sachin Grover
|
b7adb2aa42
|
Add SPDX license identifier if not present already in source file
Fixes: #9220
|
2020-07-17 20:24:12 +05:30 |
|
chriseth
|
59f4989966
|
Optimize combination of byte and shl.
|
2020-07-08 20:26:46 +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 |
|
Christian Parpart
|
345f9928ab
|
Library libdevcore renamed to libsolutil.
|
2020-01-07 15:51:50 +01:00 |
|
Christian Parpart
|
6b23412fae
|
C++ namespace cleanup (except tests).
|
2020-01-07 15:51:50 +01:00 |
|
chriseth
|
e70ef0b820
|
Simplify patterns.
|
2019-11-15 00:34:01 +01:00 |
|
chriseth
|
4b6647f6e1
|
Generalize word.
|
2019-11-07 14:33:34 +01:00 |
|
chriseth
|
fa02667075
|
Generalize instructions.
|
2019-11-07 14:33:34 +01:00 |
|
chriseth
|
c224b09bb3
|
Fix reordering bug in optimizer.
|
2019-09-17 12:33:00 +02:00 |
|
Bhargava Shastry
|
09fa31ccc5
|
yul: Add new optimizer rules for create and create2 builtins
|
2019-09-09 17:06:56 +02:00 |
|
chriseth
|
e86b5cf14e
|
Replace byte(A, X) by zero if A >= 32
|
2019-08-29 15:35:34 +02:00 |
|
chriseth
|
633510eb04
|
Merge pull request #6935 from ethereum/subMaxValueXNotXRule
Add optimization rule SUB(~0, X) -> NOT(X).
|
2019-06-17 14:42:49 +02:00 |
|
Bhargava Shastry
|
e96003e709
|
optimizer: Remove redundant rule from the optimizer rule list
|
2019-06-17 13:41:48 +02:00 |
|
Daniel Kirchner
|
7f322c9433
|
Add optimization rule SUB(~0, X) -> NOT(X).
|
2019-06-14 14:07:46 +02:00 |
|
chriseth
|
f6437a2016
|
Optimizer rules that combine shifts and masks.
|
2019-05-15 20:30:53 +02:00 |
|
Daniel Kirchner
|
a5427bc63a
|
Add optimizer rules for multiplication and division by left-shifted one.
|
2019-05-14 16:20:45 +02:00 |
|
Mathias Baumann
|
5c66ccc179
|
Optimize obsolete ANDs in combination with certain SHIFTs
|
2019-03-29 10:08:05 +01:00 |
|
Alex Beregszaszi
|
84fbf605aa
|
Replace shifts by larger than 255 with 0
|
2019-03-29 10:07:54 +01:00 |
|
chriseth
|
2308904f68
|
Remove "using namespace" from header and move Instruction to dev::eth.
|
2019-03-28 13:48:11 +01:00 |
|
Bhargava Shastry
|
f7b5a27581
|
Fixes bug in byte optimization rule and adds tests.
|
2019-03-21 14:29:06 +01:00 |
|
chriseth
|
4c1a9aa273
|
Merge pull request #6256 from ethereum/completeLtGtRules
Complete the GT/LT rules.
|
2019-03-13 12:08:34 +01:00 |
|
chriseth
|
571f400a3e
|
Complete the GT/LT rules.
|
2019-03-13 12:01:23 +01:00 |
|
Bhargava Shastry
|
515fa872c8
|
Fixes u256 overflow in logical shift optimization rule and adds tests.
|
2019-03-13 11:19:20 +01:00 |
|
chriseth
|
34082a2368
|
Merge pull request #6159 from ethereum/more-optims
More optimiser rules for LT/GT/AND/BYTE and address cleanups
|
2019-03-04 16:24:38 +01:00 |
|
Alex Beregszaszi
|
1272951bbb
|
Do not mask with 160-bits after CREATE/CREATE2
|
2019-03-04 14:42:29 +01:00 |
|
Alex Beregszaszi
|
7aa2ee1775
|
More optimiser rules for LT/GT/AND/BYTE
|
2019-03-04 14:42:29 +01:00 |
|
Alex Beregszaszi
|
a7c2dba681
|
Document the boost multiprecision shift bug in RuleList
|
2019-03-04 13:37:20 +01:00 |
|
Alex Beregszaszi
|
4430fe6a54
|
Combine multiple shifts with constant shift-by values in the optimiser
|
2019-02-25 20:56:13 +00:00 |
|
Alex Beregszaszi
|
fd936439a4
|
Add more optimisation rules for shifts
|
2019-02-20 11:59:15 +00:00 |
|
Daniel Kirchner
|
870b656eda
|
Split up rule list generation further to prevent issues in browsers with the emscripten build.
|
2019-01-18 17:02:47 +01:00 |
|
Daniel Kirchner
|
a1d73a7bef
|
Split simplification rules into two functions.
|
2018-09-18 14:28:21 +02:00 |
|
Leo Arias
|
c4a3c48aea
|
Fix typo
|
2018-08-07 13:35:15 -06:00 |
|
Cryptomental
|
140dbfdbd8
|
Code, Changelog, ReleaseChecklist: Fix typos.
Refs: #4442
|
2018-07-11 00:26:23 +02:00 |
|