Commit Graph

440 Commits

Author SHA1 Message Date
Marenz
5663fbb903 Merge branch 'develop' into breaking
Manual Resolved Conflicts:
	Changelog.md
	 * Updated changelog
	test/externalTests/ens.sh
	 * Merged fixes for upstream from both develop and breaking
	test/libsolidity/semanticTests/inlineAssembly/external_identifier_access_shadowing.sol
	 * Removed in #11735 (breaking)
	test/libsolidity/semanticTests/inlineAssembly/function_name_clash.sol
	 * Removed in #12209 (breaking)
	test/libsolidity/semanticTests/storage/mappings_array2d_pop_delete.sol
	 * Removed in #11843 (breaking)
	test/libsolidity/semanticTests/storage/mappings_array_pop_delete.sol
	 * Removed in #11843 (breaking)
	test/libsolidity/syntaxTests/inlineAssembly/basefee_berlin_function.sol
	 * Used version of file from #11842 (breaking)
2022-08-30 18:07:20 +02:00
Marenz
f7cc29bec1 Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
Marenz
1b5332c2b9 Fix spelling mistakes and CI spellcheck job 2022-08-18 14:38:19 +02:00
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
Kamil Śliwak
7f4f655cca Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions
(cherry picked from commit f567eb1fb2)

quick fix to pass failing test at ./test/externalTests/ens.sh (line 80) -- Should be removed when 0.9 is released.
2022-05-20 09:31:27 -03: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
chriseth
3c2cee5836
Merge pull request #13026 from ethereum/develop
Merge develop into breaking.
2022-05-16 15:29:39 +02:00
Matheus Aguiar
35661479b6 Revert "Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions"
This reverts commit f567eb1fb2.

Correcting Bugfixes section of Changelog.
2022-05-13 08:35:21 -03:00
chriseth
a137d42094
Merge pull request #13007 from ethereum/develop
Merge develop into breaking.
2022-05-11 16:39:24 +02:00
hrkrshnn
5ae17c8e65 Recommend via-ir whenever a stack too deep error is encountered. 2022-05-05 19:22:03 +02:00
chriseth
a433511128 Merge remote-tracking branch 'origin/develop' into breaking 2022-04-13 17:08:27 +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
chriseth
0d96c5c8a5 Merge remote-tracking branch 'origin/develop' into breaking 2022-03-16 15:41:37 +01: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
chriseth
6b88e470ff Merge remote-tracking branch 'origin/develop' into breaking 2022-03-07 16:34:55 +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
Daniel Kirchner
d6d286b39b Disallow codecopy and codesize in pure functions. 2022-01-31 19:36:25 +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