Commit Graph
528 Commits
Author SHA1 Message Date
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 fc34c81f4c Test for long object names in optimizer. 2020-07-23 14:03:51 +02:00
chriseth 6bb6783d39 Merge remote-tracking branch 'origin/develop' into breaking 2020-07-22 15:26:44 +02:00
chriseth cb1f7a8410 Merge pull request #9235 from ethereum/yulSubObjectAccessWithDot
Yul sub object access with dot
2020-07-22 09:50:41 +02:00
Djordje MijovicandKamil Śliwak 6f97e6153c [yul] Adding support for accessing subobjects via .
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-07-21 17:56:11 +02:00
Bhargava Shastryandchriseth 18fbbfa5ca Fuzzer: Count step by number of interpreted statements
Co-authored-by: chriseth <chris@ethereum.org>
2020-07-21 15:38:02 +02:00
chriseth 9be5ed1220 Merge remote-tracking branch 'origin/develop' into breaking 2020-07-21 11:35:28 +02:00
chriseth 2c7359de1e Merge pull request #9394 from ethereum/fix-9391
Yul interpreter: Return addresses of type u160 for create and create2…
2020-07-20 18:38:43 +02:00
chriseth 1c9179683e Merge pull request #9433 from ethereum/reportAllStackErrors
Report all stack errors
2020-07-20 15:44:51 +02:00
Bhargava Shastry deffb7ffc8 Yul interpreter: Return addresses of type u160 for create and create2 calls 2020-07-20 11:26:47 +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
Daniel Kirchner 579e4b5a69 Report all stack errors in the EVM code transform. 2020-07-16 17:38:04 +02:00
chriseth f945163909 Merge pull request #9432 from ethereum/develop
Merge develop into breaking.
2020-07-16 17:14:45 +02:00
chriseth 289fc7a9d0 Merge pull request #9371 from ethereum/refactorInterpreter
Refactor yul interpreter.
2020-07-13 18:27:47 +02:00
Daniel Kirchner def0ebbb3e Free variables directly after visiting RHS of Variable Declarations during EVMCodeTransform. 2020-07-13 17:36:15 +02:00
chriseth 8eee3ed3a2 Merge pull request #9388 from ethereum/develop
Merge develop into breaking.
2020-07-13 14:55:21 +02:00
Alex Beregszaszi 20dd66f398 Fix missing quote in error message for invalid Yul types 2020-07-10 21:06:09 +01:00
chriseth 9ef050af9a Merge pull request #9373 from ethereum/develop
Merge develop into breaking.
2020-07-09 16:15:43 +02:00
chriseth ec2393d3b6 Refactor interpreter. 2020-07-09 15:00:13 +02:00
chriseth 83337c850e Do not run tests that do not need options multiple times. 2020-07-08 18:47:14 +02:00
chriseth 64b6524bdb Merge remote-tracking branch 'origin/develop' into breaking 2020-07-08 09:37:14 +02:00
Alex Beregszaszi 0bd6fb027b Update tests 2020-07-07 13:13:58 +01:00
chriseth ec8be81258 Merge pull request #9243 from ethereum/jumpTypesForYul
Jump types for yul functions.
2020-07-07 12:21:14 +02:00
Daniel Kirchner 70615a73a4 Disallow the same yul variable occurring multiple times on the LHS of an assignment. 2020-07-07 10:52:47 +02:00
chriseth 4d2b9cd38f Jump types for yul functions. 2020-07-06 18:12:54 +02:00
chriseth ab68406006 Merge remote-tracking branch 'origin/develop' into breaking 2020-07-06 15:25:25 +02:00
Daniel Kirchner b9b24daa8a Merge pull request #9295 from ethereum/requireFLIR
Require for loop init rewriter for SSA.
2020-07-04 17:51:57 +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
Alex Beregszaszi 8b53f85e28 Add Yul syntax tests for dots in identifiers 2020-07-03 15:41:09 +01:00
chriseth e0b1d8b9bd Make DataFlowAnalyzer aware of storage / memory slot after sload / mload. 2020-07-01 13:45:25 +02:00
chriseth 3e3f9a472f Merge remote-tracking branch 'origin/develop' into breaking 2020-06-30 18:56:51 +02:00
Bhargava Shastry d0ea1f97fd Yul interpreter: Return selfbalance constant for the expression
balance(address()) and balance constant otherwise.
2020-06-30 16:59:13 +02:00
Kamil Śliwak a331d4449d Add linkersymbol() builtin to Yul EVM dialect 2020-06-24 15:06:52 +02:00
Kamil Śliwak 1b09b4f950 Allow Yul literals longer than 32-bytes when used as literal arguments for builtins 2020-06-24 15:05:38 +02:00
chriseth d67734df6f Fix error IDs. 2020-06-22 18:56:32 +02:00
chriseth 1441b97131 Merge remote-tracking branch 'origin/develop' into breaking 2020-06-22 18:40:20 +02:00
a3d4 1d2ae7d82a Added error codes to SyntaxTest expectations (changed code) 2020-06-22 16:53:03 +02:00
a3d4 e04cedafc5 Added error codes to SyntaxTest expectations (updated tests) 2020-06-22 16:51:47 +02:00
chriseth 6b3171c38b Merge remote-tracking branch 'origin/develop' into breaking 2020-06-10 11:30:50 +02:00
Harikrishnan Mulackal d8263d331e Ignore warnings for yulOptimizer tests 2020-06-09 13:03:57 +02:00
chriseth 1f49edd29d Merge pull request #9039 from ethereum/yul-remove-pc-instr
[Yul] remove PC instruction
2020-06-03 14:10:35 +02:00
Christian Parpart 9820df58ab Remove Yul instruction PC and adapt tests accordingly. 2020-06-03 12:49:23 +02:00
ssi91 79407c87fb remove extra definition of printIndented
add CommonBaseTestCase class and inherit some of TestCase classes from it. Since that, remove print source extra definitions

create the base defifnition for printUpdatedExpectations and remove extra definitions of the method

make CommonBaseTestCase c-tor explicit

include AnsiColorized.h and sort includes

implement a common result checker

move the common implementations into TastCase
2020-06-02 21:15:00 +07: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
Kamil Śliwak d199fc537b Add configurable weights to CodeSize metric 2020-05-20 16:47:23 +02:00
chriseth 6308ca4a22 Binary transform for br and br_if. 2020-05-14 11:30:19 +02:00
Kamil Śliwak c41a832f65 Move the default optimisation steps from OptimiserSuite to OptimiserSettings
- Now it's a mandatory parameter in OptimiserSuite::run()
2020-04-24 17:30:56 +02:00
chriseth d136e7dc95 Rules for optimizing idempotency for bitwise operations. 2020-04-23 14:21:00 +02:00