Commit Graph
359 Commits
Author SHA1 Message Date
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 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
Alex Beregszaszi 20dd66f398 Fix missing quote in error message for invalid Yul types 2020-07-10 21:06:09 +01: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 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
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
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
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
Harikrishnan Mulackal d8263d331e Ignore warnings for yulOptimizer tests 2020-06-09 13:03:57 +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
chriseth 35eae96a7f Move helper up and avoid trailing spaces. 2020-04-23 13:16:26 +02:00
chriseth a7a1feb1b8 Merge pull request #8626 from ethereum/immutable-functioncallgraph
Prepare literalArguments for immutable builtin functions
2020-04-09 15:46:02 +02:00
Mathias Baumann 5203503583 Allow for per-parameter literalValues builtin functions 2020-04-08 16:41:38 +02:00
chriseth 823a119117 Merge pull request #8570 from aarlt/clang-tidy-apply-modernize-use-emplace
clang-tidy: Apply modernize-use-emplace.
2020-04-07 17:28:50 +02:00
Alexander Arlt cae6e7769f Apply modernize-use-override. 2020-04-02 18:00:44 -05:00
Alexander Arlt 90bb1d8a7c Apply modernize-use-emplace. 2020-04-02 17:35:48 -05:00
a3d4 3b9e926559 Moved "step" from settings to expectations. 2020-03-19 13:59:05 +01:00
a3d4 a5ae51fa6e Unified dialect selection in libyul/SyntaxTest and YulOptimizerTest. 2020-03-16 23:22:57 +01:00
a3d4 66783c30ce Introduced TestCaseReader. 2020-03-16 23:14:33 +01:00
chriseth 8d2a9bf773 Merge pull request #8458 from a3d4/partfix-8244-introduced-testcase-shouldrun
Partial Fix #8244: Introduced TestCase::shouldRun().
2020-03-09 18:35:12 +01:00
Daniel Kirchner 809e3503ba Control flow analysis for inline assembly. 2020-03-09 16:23:10 +01:00
a3d4 29b770c434 Introduced TestCase::shouldRun(). 2020-03-09 15:52:20 +01:00
Djordje Mijovic ec083c4878 Adding source location support to AssemblyStack and thus debugging Yul sources 2020-02-25 22:19:03 +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
Djordje Mijovic a52c9af5b9 Adding vardecl optimization for boolean types 2020-02-24 15:05:19 +01:00
chriseth b9b36cd89e Properly assign types in ExpressionSplitter. 2020-02-24 15:05:19 +01:00