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
Daniel Kirchner
53c4facf4e
Fix compilation error.
2022-06-15 11:14:50 +02:00
Daniel Kirchner
953bc9fed2
Merge pull request #12983 from ethereum/hint-via-ir
...
Recommend `via-ir` whenever a stack too deep error is encountered.
2022-05-20 12:26:25 +02:00
hrkrshnn
5ae17c8e65
Recommend via-ir
whenever a stack too deep error is encountered.
2022-05-05 19:22:03 +02:00
wechman
e980a29186
Set CommonSubexpressionEliminator max chunk size to 2000
2022-04-11 08:31:04 +02:00
wechman
91638ed7b2
fixup! Limit max chunk size in CommonSubexpressionEliminator::feedItems
2022-04-11 08:31:04 +02:00
wechman
63f53a19dd
Limit max chunk size in CommonSubexpressionEliminator::feedItems
2022-04-11 08:31:04 +02:00
wechman
b74a27e946
ExpressionClasses performance optimization
2022-04-11 08:31:04 +02:00
Kamil Śliwak
f567eb1fb2
Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions
2022-04-08 14:48:35 +02:00
Alexander Arlt
1a0988e503
libevmasm: refactor asm-json export & add support for source list.
2022-03-23 15:58:07 -05:00
Daniel Kirchner
54ab09fee8
Additional peephole optimizer rules for removing side-effect free instructions before simple terminations.
2022-03-16 15:34:37 +01:00
wechman
8b0845fe97
CommonSubexpressionEliminator performance optimization
2022-03-16 12:57:38 +01:00
Daniel Kirchner
5cd98006d4
Fill in junk in stack layouts on terminating control flow paths.
2022-03-15 18:36:55 +01:00
chriseth
4f02be110c
Unused store eliminator.
2022-03-10 18:25:28 +01:00
chriseth
b3fe042884
Optimize eq iszero jumpi to xor jumpi and remove double jump.
2022-03-10 14:41:41 +01:00
Daniel Kirchner
efc00bef55
Merge pull request #12748 from ethereum/markCreationAssembly
...
Store whether an evmasm Assembly is creation code.
2022-03-09 18:30:31 +01:00
Daniel Kirchner
e0c837b33b
Remove isCreation flag from OptimiserSettings.
2022-03-09 17:53:28 +01:00
Daniel Kirchner
ce0a3e93f2
Store whether an evmasm Assembly is creation code.
2022-03-09 17:42:29 +01:00
chriseth
859869c4dd
Simplify peephole optimizer template.
2022-03-09 16:03:57 +01:00
chriseth
77c40cd2af
Merge pull request #12740 from ethereum/remove-locale-dependent-operations
...
Replace all locale-dependent operations with locale-agnostic counterparts
2022-03-07 17:56:58 +01:00
wechman
52dfccca98
Replace all locale-dependent operations with locale-agnostic counterparts
2022-03-07 17:23:08 +01:00
Daniel Kirchner
06820e1b1e
Remove unused entry point to evmasm Assembly.
2022-03-07 12:14:08 +01:00
chriseth
b0dcd7b915
Split out disassemble to remove numeric from instruction includes.
2022-03-02 15:30:41 +01:00
chriseth
d0d4bca35b
Extend side effects to operations.
2022-03-01 16:06:20 +01:00
soroosh-sdi
816d8021e4
Remove linking to unqualified library name
...
- SemanticTests accepts fully qualified library name and also unqualifed library name when
the library is defined in the same file for convenience.
- commandline tests are added!
Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
2021-10-20 18:11:58 +03:30
Christian Parpart
b1dd0d0d02
Properly compute source mappings for immutables.
2021-10-12 17:56:17 +02:00
Kamil Śliwak
f7c4ed849d
Handle DebugInfoSelection in the code printing Yul and EVM assembly
2021-10-11 20:34:48 +02:00
Christian Parpart
3f08b2269a
Adds fmtlib as 3rdparty dependency for easier string composition.
2021-10-11 13:35:08 +02:00
chriseth
ebba11a33e
Merge pull request #12022 from ethereum/urls-to-latest-boost-docs
...
[Docs] Always link to the latest version of Boost docs
2021-09-27 12:15:42 +02:00
Alex Beregszaszi
3c8846e669
Merge pull request #11976 from ethereum/json-cleanup
...
Some cleanup and testing for JSON
2021-09-24 19:03:45 +01:00
Kamil Śliwak
caccd0a3e0
Always refer to the latest version of Boost in URLs
2021-09-24 15:35:33 +02:00
chriseth
1531863835
Split Common.h into Numeric.h.
2021-09-23 15:27:29 +02:00
chriseth
c8e6ef9657
Merge pull request #12004 from ethereum/disambiguateBytesRequired
...
Disambiguate bytesRequired
2021-09-23 15:25:44 +02:00
chriseth
50ce1f5ddd
Disambiguate bytesRequired
2021-09-22 11:22:07 +02:00
chriseth
2741175507
Use function debug data.
2021-09-22 11:11:51 +02:00
Alex Beregszaszi
55c64e3ca1
Always explicitly initialise Json objects
2021-09-21 10:49:13 +01:00
Bhargava Shastry
94086e734b
Do not use std::iterator that is deprecated in c++17.
2021-09-14 14:00:37 +02:00
Alexander Arlt
7fcf888fbf
Remove unused AssemblyItemType::PushString.
2021-09-13 18:59:18 +02:00
chriseth
55bb53c9de
Merge pull request #11912 from ethereum/refactorSourcePrinting
...
Refactor source printing
2021-09-08 14:07:07 +02:00
Kamil Śliwak
a7612ce873
Move the function for creating code snippets used next to source locations in assembly to liblangutil
2021-09-07 17:18:22 +02:00
chriseth
3fe52d9869
Run the optimizer only once.
2021-09-07 15:06:31 +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
90c4623460
Some more base fees.
2021-08-12 16:37:21 +02:00
hrkrshnn
11b80dc8ce
Updated changes in refunds: EIP-3529
...
Refunds are not accounted in Solidity's gas meter.
2021-08-11 09:55:21 +02:00
hrkrshnn
d92b211a2f
Added the instruction basefee.
2021-08-09 16:18:08 +02:00
Kamil Śliwak
6753c8f624
Rename escapeAndQuoteYulString() back to escapeAndQuoteString()
2021-07-14 21:29:01 +02:00
chriseth
f75b55071e
Remove CharStream from SourceLocation.
2021-07-14 15:12:07 +02:00
Kamil Śliwak
6ad6fa2382
Do not hard-code the default 'runs' value as 200 in code that fills out optimizer settings
2021-06-28 14:12:28 +02:00