chriseth
|
4ae97f4563
|
Make dialect option lowercase.
|
2020-02-06 19:46:37 +01:00 |
|
chriseth
|
5de3379d82
|
Merge pull request #8238 from ethereum/yul-syntax-tests
Implement yul syntax tests
|
2020-02-05 15:15:41 +01:00 |
|
Mathias Baumann
|
fc10e701fc
|
Implement yul syntax tests
|
2020-02-05 14:58:34 +01:00 |
|
Mathias Baumann
|
ef07fc3066
|
Fix formatting
|
2020-02-05 13:22:15 +01:00 |
|
chriseth
|
9f0cef97c2
|
Specify default type for word size transform externally.
|
2020-02-04 18:13:37 +01:00 |
|
chriseth
|
d3b53ee394
|
Make bool type optional for bool literals.
|
2020-01-29 19:01:28 +01:00 |
|
chriseth
|
a66782537a
|
Use old yul dialect only in tests.
|
2020-01-29 19:01:28 +01:00 |
|
chriseth
|
23667ce12d
|
Update Yul optimizer tests.
|
2020-01-29 17:25:25 +01:00 |
|
chriseth
|
e7b95de315
|
Tests for default type parsing.
|
2020-01-29 17:25:25 +01:00 |
|
chriseth
|
fbe5bb0cce
|
Parse default dialect and omit when printing.
|
2020-01-29 17:25:25 +01:00 |
|
chriseth
|
e41155cf48
|
Merge pull request #8062 from imapp-pl/polyfill-part-2
Arithmetic functions implementation for EVM->EWasm translator.
|
2020-01-29 17:22:27 +01:00 |
|
Mathias Baumann
|
00e4d13975
|
TestFramework: Merge Options.h into Common.h
|
2020-01-29 12:27:05 +01:00 |
|
Mathias Baumann
|
2f1f8e25c1
|
TestFramework: Remove headers from Options.h
|
2020-01-28 17:29:22 +01:00 |
|
rodiazet
|
f1004e712c
|
[WASM] Add div, sdiv, mod, smod, exp, lt, sar, addmod, mulmod, signextend
|
2020-01-28 13:32:43 +01:00 |
|
chriseth
|
5fb8e76931
|
Merge pull request #8136 from imapp-pl/polyfill-mstore8
mstore8 polyfill
|
2020-01-15 17:02:40 +01:00 |
|
rodiazet
|
3760e90582
|
[WASM] mstore8 function implementation added.
|
2020-01-15 14:06:43 +01:00 |
|
chriseth
|
123ea0a250
|
Remove asm flavour.
|
2020-01-14 17:16:09 +01:00 |
|
chriseth
|
b5bd4787af
|
Merge pull request #7801 from ethereum/tuneRemat
Tune rematerializer
|
2020-01-08 10:41:32 +01:00 |
|
rodiazet
|
b8c59c56e0
|
[WASM] Add keccak256, balance, extcodecopy, blockhash, coinbase, log's, call, callcode, delegatecall, staticcall
|
2020-01-08 10:08:36 +01:00 |
|
chriseth
|
40c0602b5c
|
Do not rematerialize in loops.
|
2020-01-08 09:56:08 +01:00 |
|
chriseth
|
25d3f27c11
|
Tune Rematerializer
|
2020-01-08 09:56:08 +01:00 |
|
Christian Parpart
|
345f9928ab
|
Library libdevcore renamed to libsolutil.
|
2020-01-07 15:51:50 +01:00 |
|
Christian Parpart
|
ed45b000d1
|
Adapt tests directory to C++ namespace changes.
|
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
|
3994c9135f
|
Tests.
|
2019-12-29 15:53:47 +01:00 |
|
chriseth
|
1e59c19166
|
Dialect setting for yul optimizer tests.
|
2019-12-18 21:54:30 +01:00 |
|
Alex Beregszaszi
|
7effc94f24
|
Rename EVMToEWasmTranslator to EVMToEwasmTranslator
|
2019-12-18 16:57:45 +00:00 |
|
Alex Beregszaszi
|
7d3ccee921
|
Fix implementation of getCodeSize in Ewasm
|
2019-12-18 14:58:28 +00:00 |
|
rodiazet
|
7d8c4c24ee
|
Add arithmetic test cases for most of EVM->Ewasm translator
|
2019-12-18 13:58:03 +01:00 |
|
chriseth
|
b6fc703a27
|
Merge remote-tracking branch 'origin/release' into HEAD
|
2019-12-17 19:47:59 +01:00 |
|
chriseth
|
244b011a30
|
More test cases.
|
2019-12-17 17:08:27 +01:00 |
|
chriseth
|
143471fe87
|
Tests.
|
2019-12-17 15:47:32 +01:00 |
|
Alex Beregszaszi
|
2a808e4f32
|
Add trace for unreachable in Yul Ewasm translation tests
|
2019-12-15 13:28:38 +00:00 |
|
chriseth
|
b53629d3d0
|
Merge pull request #7977 from imapp-pl/yul-ewasm-tests-imapp
Add comparison test cases for most of EVM->Ewasm translator
|
2019-12-12 14:07:13 +01:00 |
|
rodiazet
|
336b436d3e
|
Add comparison test cases for most of EVM->Ewasm translator
Add comparison test cases for most of EVM->Ewasm translator
|
2019-12-11 23:23:35 +01:00 |
|
Alex Beregszaszi
|
8cb085ca0d
|
Add bitwise test cases for most of EVM->Ewasm translator
|
2019-12-11 12:44:05 +00:00 |
|
Alex Beregszaszi
|
fbf946e493
|
Add also smoke tests for opcodes not part of Ewasm
|
2019-12-10 17:00:45 +00:00 |
|
Alex Beregszaszi
|
d8cf8e98bd
|
Add basic test cases for most of EVM->Ewasm translator
|
2019-12-10 17:00:45 +00:00 |
|
chriseth
|
42d9a8e962
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-12-04 17:01:44 +01:00 |
|
chriseth
|
f713b7e158
|
Remove trailing whitespace in test.
|
2019-12-03 21:38:20 +01:00 |
|
chriseth
|
bbeb093abf
|
Detect loops in call graph generator.
|
2019-12-03 21:38:20 +01:00 |
|
Daniel Kirchner
|
025a696bb0
|
Fix unrelated test failure.
|
2019-11-28 20:01:36 +01:00 |
|
chriseth
|
f7fc42d8c3
|
Merge pull request #7826 from ethereum/develop
Merge develop into develop_060
|
2019-11-28 13:37:19 +01:00 |
|
chriseth
|
301215f186
|
Merge pull request #7461 from sifmelcara/licm
[YulOpt] Implement loop-invariant code motion
|
2019-11-28 12:00:19 +01:00 |
|
mingchuan
|
db60d123d0
|
[YulOpt] Implement loop-invariant code motion
|
2019-11-28 11:59:29 +01:00 |
|
chriseth
|
1ebcc757e1
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-27 19:14:08 +01:00 |
|
chriseth
|
0bb88dabb7
|
Restrict usage of plain "new".
|
2019-11-27 17:55:11 +01:00 |
|
chriseth
|
9e9b643b93
|
Tune the suite.
|
2019-11-27 11:56:11 +01:00 |
|
chriseth
|
b0db64ff5b
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-26 16:19:35 +01:00 |
|
chriseth
|
d4d0df021d
|
EWasm translation tests.
|
2019-11-26 15:46:33 +01:00 |
|
Leonardo Alt
|
389da5228e
|
Merge remote-tracking branch 'origin/develop' into merge_develop_060
|
2019-11-20 12:27:40 +01:00 |
|
Leonardo Alt
|
be849b3c47
|
Replace boost::variant by std::variant in libyul
|
2019-11-19 17:23:18 +01:00 |
|
chriseth
|
46ac16d25c
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-04 19:09:11 +01:00 |
|
chriseth
|
cca7f01199
|
Tests for conditional unsimplifier
|
2019-11-01 14:07:25 +01:00 |
|
chriseth
|
ce87f11885
|
Test updates
|
2019-11-01 14:01:56 +01:00 |
|
chriseth
|
61a2d44f38
|
Conditional unsimplifier
|
2019-11-01 14:01:56 +01:00 |
|
chriseth
|
21b9606ed3
|
Test updates.
|
2019-11-01 14:01:56 +01:00 |
|
chriseth
|
19ccdfb0b3
|
No into body.
|
2019-11-01 14:01:56 +01:00 |
|
chriseth
|
5d6e983be3
|
Conditional simplifier.
|
2019-11-01 14:01:56 +01:00 |
|
chriseth
|
499fe57d33
|
Tests
|
2019-10-29 14:32:16 +01:00 |
|
chriseth
|
91a92a01d5
|
Test updates.
|
2019-10-29 14:32:16 +01:00 |
|
chriseth
|
edf1e83fda
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-10-28 15:21:49 +01:00 |
|
Christian Parpart
|
df729b3084
|
Make use of C++17 std::optional<> instead of boost::optional<>.
|
2019-10-28 11:39:30 +01:00 |
|
Christian Parpart
|
3c1d12b16c
|
Assembly: Remove errorTypeForLoose property from AsmAnalyzer.
|
2019-10-25 15:01:26 +02:00 |
|
Christian Parpart
|
e40c498260
|
Adapting the tests to strict inline assembly.
|
2019-10-25 15:01:25 +02:00 |
|
chriseth
|
9ce1ca2340
|
Refactor Optimiser Steps Interface.
|
2019-09-24 14:52:01 +02:00 |
|
mingchuan
|
520a3ccfff
|
[YulOpt] declare SSA var when control flow joins
|
2019-09-17 13:22:02 +02:00 |
|
chriseth
|
5859a69c44
|
Merge pull request #7409 from ethereum/forLoopOutOfBody
[Yul] Move for loop condition out of body.
|
2019-09-17 12:58:56 +02:00 |
|
chriseth
|
68986a58b6
|
Test.
|
2019-09-17 12:32:46 +02:00 |
|
chriseth
|
7a79742f3d
|
Out of body again.
|
2019-09-17 12:30:15 +02:00 |
|
chriseth
|
2d601a4f23
|
Merge pull request #7414 from ethereum/refactorSSA
Refactor SSA transform.
|
2019-09-13 17:55:39 +02:00 |
|
chriseth
|
20bada4c60
|
Refactor SSA transform.
|
2019-09-12 20:07:39 +02:00 |
|
Daniel Kirchner
|
f86c5da202
|
Fix SSA reverser in special case of declaration followed by self-assignment.
|
2019-09-12 18:17:13 +02:00 |
|
chriseth
|
4f80117eef
|
Use builtin iszero for for loop condition rewriting.
|
2019-09-12 10:26:16 +02:00 |
|
chriseth
|
fcfe829534
|
Introduce LiteralRematerializer and thus simplify StructuralSimplifier.
|
2019-09-11 19:50:24 +02:00 |
|
chriseth
|
20f6fbf88e
|
Load resolver involving staticcall.
|
2019-09-10 12:09:13 +02:00 |
|
Bhargava Shastry
|
09fa31ccc5
|
yul: Add new optimizer rules for create and create2 builtins
|
2019-09-09 17:06:56 +02:00 |
|
chriseth
|
96b6b45658
|
Merge pull request #7324 from ethereum/activateLoadResolver
[Yul] Activate load resolver.
|
2019-09-09 16:45:41 +02:00 |
|
chriseth
|
5b4b4011c7
|
Extend memory beyond 32 byte addresses in interpreter.
|
2019-09-04 20:10:42 +02:00 |
|
chriseth
|
633932c5f1
|
Update tests.
|
2019-09-04 19:16:54 +02:00 |
|
chriseth
|
55024d40fe
|
Test updates.
|
2019-09-02 17:41:51 +02:00 |
|
chriseth
|
127bcfc69d
|
Take user function side-effects into account for unused pruner.
|
2019-09-02 17:41:51 +02:00 |
|
chriseth
|
1c5845e3f2
|
Side-effects of user-defined functions.
|
2019-09-02 17:41:51 +02:00 |
|
chriseth
|
bdf29277a2
|
Change interpreter memory to be non-contiguous.
|
2019-09-02 13:51:47 +02:00 |
|
chriseth
|
a988b64597
|
Merge pull request #7312 from ethereum/fixInterpreterScopes
Fix handling of scopes in Yul Interpreter.
|
2019-09-02 12:05:33 +02:00 |
|
chriseth
|
01e0a12c3b
|
Fix handling of scopes in Yul Interpreter.
|
2019-09-02 10:41:26 +02:00 |
|
chriseth
|
e86b5cf14e
|
Replace byte(A, X) by zero if A >= 32
|
2019-08-29 15:35:34 +02:00 |
|
chriseth
|
3c4f558242
|
Tests
|
2019-08-15 16:30:05 +02:00 |
|
chriseth
|
7d30fbdef0
|
Extract side effects into their own struct.
|
2019-08-14 15:06:10 +02:00 |
|
chriseth
|
e396dc7246
|
Properly set storage and memory after erasing potentially destroyed keys
|
2019-08-13 18:43:15 +02:00 |
|
Mathias Baumann
|
ccfcee5b80
|
YulInterpreter: Fix wrong context passed to called function
|
2019-08-12 17:12:53 +02:00 |
|
Leonardo
|
cd563e526a
|
Merge pull request #7122 from sifmelcara/expression-inliner-avoid-dup-expr
[Yul] ExpressionInliner: avoid duplicating expressions
|
2019-08-06 11:08:38 +02:00 |
|
Erik Kundt
|
a7a8ba73f9
|
[isoltest] Moves error types to dedicated file.
|
2019-08-05 15:00:04 +02:00 |
|
mingchuan
|
46387eaea2
|
[Yul] ExpressionInliner: avoid duplicating high cost expressions
|
2019-08-05 11:48:32 +02:00 |
|
chriseth
|
0c0b5a09cd
|
Add another test related to stack compressor and msize.
|
2019-07-18 16:40:46 +02:00 |
|
chriseth
|
a0a0a34a21
|
Do not overwrite allowMSizeOptimization
|
2019-07-16 10:13:18 +02:00 |
|
chriseth
|
869d69d293
|
Supply full object to stack compressor and Optimizer Suite.
|
2019-07-10 18:49:42 +02:00 |
|
chriseth
|
2a5280faa0
|
Check availability of data objects already in analysis phase.
|
2019-07-10 18:49:42 +02:00 |
|
chriseth
|
e2bfb1a663
|
Translation of switch statement for wasm backend.
|
2019-06-27 13:02:35 +02:00 |
|
chriseth
|
f5f1b2649c
|
Adding forgotten test for load resolver.
|
2019-06-25 17:25:53 +02:00 |
|
chriseth
|
2b979cba38
|
Also optimize memory.
|
2019-06-20 18:43:37 +02:00 |
|
chriseth
|
8572600401
|
Implement knowledge base.
|
2019-06-20 18:43:37 +02:00 |
|
chriseth
|
1f9d11c644
|
Knowledge about storage.
|
2019-06-20 18:43:37 +02:00 |
|
chriseth
|
ecab46c707
|
Finish word size transform.
|
2019-06-20 10:42:56 +02:00 |
|
chriseth
|
d9d1c4a312
|
Merge pull request #6967 from ethereum/nameDisplacer
[Yul] Name displacer.
|
2019-06-19 18:56:54 +02:00 |
|
chriseth
|
8edf9e4baf
|
Merge pull request #6666 from vedant1811/issue-5405
Group function definitions
|
2019-06-19 18:03:40 +02:00 |
|
chriseth
|
d7b366ff46
|
Name displacer.
|
2019-06-19 14:55:38 +02:00 |
|
chriseth
|
cc5045a56e
|
[Yul] Run optimizer on all dialects.
|
2019-06-19 10:01:16 +02:00 |
|
Vedant Agarwala
|
5d6cbd97df
|
[Yul] Directly jump over a series of function definitions
Implement a AbstractAssembly::setStackHeight function
Update the tests
Update Changelog
|
2019-06-19 12:40:11 +08:00 |
|
chriseth
|
6cb6fe35ef
|
Make Yul optimizer not fail for wasm.
|
2019-06-17 18:42:47 +02:00 |
|
Daniel Kirchner
|
ba8ad1a1d9
|
Use the TestCase settings mechanism for object compiler tests.
|
2019-06-11 14:11:27 +02:00 |
|
Daniel Kirchner
|
547173533c
|
Unify parsing of simple test expectations and require lines to start with `// `.
|
2019-06-11 14:05:45 +02:00 |
|
chriseth
|
c9e2d388b5
|
Merge pull request #6848 from ethereum/invertibleRelation
Implement references using InvertibleRelation as data structure.
|
2019-05-29 13:34:10 +02:00 |
|
chriseth
|
2276b567b1
|
Merge pull request #6840 from ethereum/discoverMSize
Only remove msize-modifying instructions if msize is not used.
|
2019-05-28 13:16:55 +02:00 |
|
chriseth
|
df96648b1c
|
Do not allow msize in inline assembly if the Yul optimizer is active.
|
2019-05-28 12:54:33 +02:00 |
|
chriseth
|
d7b5ea6761
|
Allow msize optimization only if it is not present.
|
2019-05-28 12:54:32 +02:00 |
|
chriseth
|
1c16124a09
|
Constant optimiser for Yul.
|
2019-05-28 11:35:07 +02:00 |
|
chriseth
|
4061ad0a7b
|
Implement references using InvertibleRelation as data structure.
|
2019-05-27 22:55:59 +02:00 |
|
chriseth
|
6132f0aea9
|
Merge pull request #6800 from ethereum/skipEmptyDump
Skip empty entries in memory and storage dump.
|
2019-05-23 14:27:44 +02:00 |
|
chriseth
|
3c548a1d76
|
Update tests.
|
2019-05-23 13:17:27 +02:00 |
|
chriseth
|
e5902c58a4
|
Merge pull request #6777 from sifmelcara/loop-cond-rewriter
[YulOpt] Implement ForLoopConditionIntoBody
|
2019-05-23 12:51:51 +02:00 |
|
chriseth
|
14545852d1
|
Make YulInterpreterTest EVM version aware.
|
2019-05-23 12:42:11 +02:00 |
|
chriseth
|
91312e657b
|
Skip empty entries in memory and storage dump.
|
2019-05-23 12:27:56 +02:00 |
|
chriseth
|
90e8594858
|
Update tests.
|
2019-05-23 11:30:12 +02:00 |
|
chriseth
|
1e3878121a
|
Do not inline recursive functions.
|
2019-05-22 18:15:21 +02:00 |
|
mingchuan
|
4ab377eb00
|
Add tests for ForLoopConditionIntoBody
|
2019-05-22 21:51:03 +08:00 |
|
chriseth
|
1dc15d5864
|
Modify parser and optimizer.
|
2019-05-20 17:32:56 +02:00 |
|
chriseth
|
4bdb981224
|
Make dialect const& and allocate single instances statically.
|
2019-05-17 12:54:24 +02:00 |
|
chriseth
|
570db164c9
|
Make Dialect const.
|
2019-05-16 21:51:54 +02:00 |
|
chriseth
|
733677690e
|
Update tests.
|
2019-05-16 12:30:05 +02:00 |
|
chriseth
|
f6437a2016
|
Optimizer rules that combine shifts and masks.
|
2019-05-15 20:30:53 +02:00 |
|
chriseth
|
246c1c939f
|
Tests.
|
2019-05-13 18:58:55 +02:00 |
|
chriseth
|
dd4f9bf1a6
|
Really split structural simplifier.
|
2019-05-13 10:26:57 +02:00 |
|
chriseth
|
d9831c8b96
|
Split structural simplifier.
|
2019-05-13 10:26:57 +02:00 |
|
chriseth
|
6ee9ccf140
|
Test.
|
2019-05-09 17:36:40 +02:00 |
|
chriseth
|
3f55b52a88
|
Unify suffixes.
|
2019-05-09 17:07:18 +02:00 |
|
chriseth
|
eaee4412da
|
Implement word size transform for if.
|
2019-05-09 16:55:39 +02:00 |
|
chriseth
|
54a3116ab8
|
Merge pull request #6698 from ethereum/asmPrinterOneLine
Format short blocks and loops on a single line.
|
2019-05-08 14:46:02 +02:00 |
|
chriseth
|
0532a8cef2
|
Format short blocks and loops on a single line.
|
2019-05-08 13:28:00 +02:00 |
|
Daniel Kirchner
|
76b88bdfd8
|
Allow test cases to indicate fatal errors.
|
2019-05-07 18:12:21 +02:00 |
|
chriseth
|
18bc82e6fd
|
Fix interpreter exp bug.
|
2019-05-07 11:40:33 +02:00 |
|
chriseth
|
f113f8e4a0
|
Implement datasize, dataoffset and datacopy for yul interpreter.
|
2019-05-06 16:59:47 +02:00 |
|
Bhargava Shastry
|
2d1faf53be
|
Reset loop state (to default) before interpreting for-loop post block
|
2019-05-02 22:22:19 +02:00 |
|
mingchuan
|
57fc4fde85
|
Add wordSizeTransform yulOptimizerTests
|
2019-05-03 01:52:01 +08:00 |
|
chriseth
|
578d618065
|
Merge pull request #6594 from ethereum/adjustCodeMetric
Increase code cost for branching statements.
|
2019-04-29 09:48:59 +02:00 |
|
chriseth
|
00d81929b1
|
Merge pull request #6576 from ethereum/isoltest-evmversion-comparator
Allow additional EVMVersion comparators in isoltest
|
2019-04-25 17:37:46 +02:00 |
|
Erik Kundt
|
15d753a3e0
|
Allows additional EVMVersion comparators in isoltest.
|
2019-04-25 17:13:17 +02:00 |
|
chriseth
|
bf104f718f
|
Increase code cost for branching statements.
|
2019-04-25 17:08:11 +02:00 |
|
chriseth
|
f9ec1231b6
|
Support period as part of identifiers for Yul and Inline Assembly.
|
2019-04-25 16:48:16 +02:00 |
|
chriseth
|
b6bb3ae482
|
Merge pull request #6555 from sifmelcara/break-for-loop
[Yul] Disallow function definitions inside for loop init blocks
|
2019-04-25 11:20:44 +02:00 |
|
chriseth
|
f26cdea6ca
|
Disallow Yul function definitions inside for loop init blocks.
|
2019-04-25 10:32:00 +02:00 |
|
chriseth
|
6292adbde6
|
Merge pull request #6580 from ethereum/doNotGenerateInstructionsAsNmes
Prevent instructions to be generated as names.
|
2019-04-24 22:07:05 +02:00 |
|
chriseth
|
0af8d758a5
|
Prevent instructions to be generated as names.
|
2019-04-24 14:35:21 +02:00 |
|
mingchuan
|
5d93c492fe
|
[Yul] More accurate error messages for break/continue
|
2019-04-23 10:15:19 +02:00 |
|
chriseth
|
aad4373da4
|
Disable redundent assign eliminator for deeply nested loops.
|
2019-04-23 09:50:25 +02:00 |
|
hydai
|
d5b65fbf5b
|
[Yul] Output an error of a switch case which contains string literals longer than 32 chars
|
2019-04-17 22:17:18 +08:00 |
|
fnatic
|
5b6ed7a97c
|
Removing scope rules for pre block in 'For Loops'
|
2019-04-17 05:58:40 +05:30 |
|
chriseth
|
fb06451f45
|
Add assertion that DeadCodeEliminator needs ForLoopInitRewriter.
|
2019-04-15 23:26:56 +02:00 |
|
Leonardo
|
dbc9442f9c
|
Merge pull request #6484 from sifmelcara/create-SourceReferenceFormatter-shortcut
Add a shortcut for formatting error information
|
2019-04-12 12:34:08 +02:00 |
|
mingchuan
|
d49733dfc3
|
Fix variable decl scope issue in DeadCodeEliminator
FoorLoopInitRewriter needs to be run before DeadCodeEliminator.
|
2019-04-10 19:00:29 +08:00 |
|
mingchuan
|
f1374066af
|
Add shortcuts for formatting error information
|
2019-04-10 18:44:45 +08:00 |
|
chriseth
|
1be3882ade
|
Test shadowing between variables inside and outside of functions.
|
2019-04-05 13:41:39 +02:00 |
|
chriseth
|
d20b3c9f9f
|
Function grouper is a requirement for the VarNameCleaner.
|
2019-04-05 13:41:38 +02:00 |
|
Bhargava Shastry
|
f15cedad7a
|
yulInterpreter: More fine-grained exception handling
|
2019-04-04 13:02:55 +02:00 |
|
chriseth
|
887112b1b0
|
Fix SSA for multi-assignments.
|
2019-04-04 12:06:04 +02:00 |
|
Mathias Baumann
|
d46f29e128
|
Add bitshift optimizer tests
|
2019-04-03 22:38:31 +02:00 |
|
chriseth
|
e3d7a34c2c
|
Make yul a setting.
|
2019-04-03 14:58:20 +02:00 |
|
chriseth
|
aeb260cde1
|
Add settings framework for interactive tests.
|
2019-04-03 14:58:20 +02:00 |
|
Mathias Baumann
|
e20acf5d0a
|
Yul Optimizer: Remove dead code
|
2019-04-01 17:16:04 +02:00 |
|
chriseth
|
3264e9abf0
|
Make optimiser settings available to assembly stack.
|
2019-03-28 18:24:13 +01:00 |
|
chriseth
|
529aca5cbd
|
Merge pull request #6407 from ethereum/changeNamespace
Remove "using namespace" from header and move Instruction to dev::eth.
|
2019-03-28 14:32:07 +01:00 |
|
chriseth
|
2308904f68
|
Remove "using namespace" from header and move Instruction to dev::eth.
|
2019-03-28 13:48:11 +01:00 |
|
chriseth
|
91f96c299e
|
More logic about control flow with continue and about finalize. Remove BlockScope.
|
2019-03-27 22:16:31 +01:00 |
|
Christian Parpart
|
a1ec49409d
|
Yul] RedundantAssignEliminator: Implements break/continue handling within ForLoop.
|
2019-03-26 17:36:43 +01:00 |
|
chriseth
|
caddce6ef0
|
Detect duplicate cases based on integer value of case label.
|
2019-03-25 12:38:22 +01:00 |
|
chriseth
|
57f99247c8
|
Update tests.
|
2019-03-20 15:07:05 +01:00 |
|
chriseth
|
8514c0bc60
|
Provide max iterations for stack compressor as parameter.
|
2019-03-20 15:07:05 +01:00 |
|
chriseth
|
38cbf8d230
|
Pass "optimize stack allocation" flag down to the stack compressor.
|
2019-03-20 15:03:27 +01:00 |
|
Christian Parpart
|
82ced641e5
|
[Yul] Adds another test case for multiple continue statements within a for-loop
|
2019-03-18 12:43:20 +01:00 |
|
chriseth
|
500843f9c5
|
Merge pull request #6242 from ethereum/yul-bc-dataflow
Yul dataflow analysis for continue/break statements
|
2019-03-14 16:34:34 +01:00 |
|
Christian Parpart
|
57bcb8ba83
|
[yul] Ensures DataFlowAnalyzer works fine with break/continue statements just like without.
|
2019-03-14 16:18:45 +01:00 |
|
chriseth
|
49d914a391
|
Fix and test yul stack optimization flag for commandline interface.
|
2019-03-14 15:34:23 +01:00 |
|
Christian Parpart
|
05e2d362c8
|
[Yul] Adds break/continue statements and some general tests for for-loop syntax.
|
2019-03-11 15:05:05 +01:00 |
|
chriseth
|
791fde953d
|
First simplify switch with known constant expression.
|
2019-03-06 21:32:55 +01:00 |
|
chriseth
|
21115f8050
|
Fix visitation order bug for structural simplifier.
|
2019-03-06 19:34:07 +01:00 |
|
Mathias Baumann
|
21322dae29
|
YulOpt: Remove empty cases
|
2019-03-06 19:02:23 +01:00 |
|
Mathias Baumann
|
3ce7069766
|
YulOpt: Remove empty cases
|
2019-03-06 18:39:44 +01:00 |
|
Mathias Baumann
|
f6e09d6368
|
YulOpt: Extend StructuralSimplifier to work with all types
|
2019-03-05 18:39:27 +01:00 |
|
chriseth
|
3f784d6e00
|
Do not prepend function name to all variables when inlining.
|
2019-03-04 18:07:00 +01:00 |
|
Christian Parpart
|
609855546e
|
Yul: Adds optimizer pass to make variable names suffix-canonical.
|
2019-03-04 17:26:56 +01:00 |
|
Mathias Baumann
|
c686a65876
|
Yul Optimizer: reduce switches with const arguments
|
2019-02-28 15:43:10 +01:00 |
|
chriseth
|
477c53a46f
|
Fix expression simplifying by moving from SSAValueTracker to DataFlowAnalyzer as a base.
|
2019-02-27 16:14:39 +01:00 |
|
chriseth
|
70bbdd8fac
|
Merge pull request #3464 from ethereum/iulia_interp
Yul interpreter
|
2019-02-25 15:38:41 +01:00 |
|
chriseth
|
94e2afff81
|
Rebase update.
|
2019-02-25 14:30:34 +01:00 |
|
chriseth
|
5eb155b894
|
Interpreter tests.
|
2019-02-25 11:58:36 +01:00 |
|
chriseth
|
7f5b335b47
|
Make EVM version part of EVM dialect.
|
2019-02-21 21:59:46 +01:00 |
|
Mathias Baumann
|
f395d5bab4
|
Add extra token for assembly assignment
Adding an extra token for := prevents whitespace between : = being valid
|
2019-02-21 13:58:21 +01:00 |
|
chriseth
|
968ca88690
|
Merge pull request #5872 from ethereum/semantic-tests-split
Semantic test infrastructure
|
2019-02-18 18:13:55 +01:00 |
|
chriseth
|
a344381d5e
|
Provide access to AssemblyStack's AST.
|
2019-02-13 14:19:56 +01:00 |
|
Erik Kundt
|
190634e1f9
|
Implements infrastructure for semantic tests.
|
2019-02-13 13:05:58 +01:00 |
|
chriseth
|
0bd049c849
|
Adapet uses of AssemblyStack.
|
2019-02-13 12:23:07 +01:00 |
|
chriseth
|
91d224dfb6
|
Merge pull request #5966 from ethereum/AnsiColorized
Adapts tests/ to use AnsiColorized (the generalized/moved version of FormattedScope, which in turn is removed in this PR)
|
2019-02-11 16:41:14 +01:00 |
|
Christian Parpart
|
53f9be8a23
|
Adapts tests/ to use AnsiColorized (the generalized/moved version of FormattedScope, which in turn is removed in this PR)
|
2019-02-11 16:00:24 +01:00 |
|
chriseth
|
83083d2208
|
Stack compressor.
|
2019-02-11 15:48:29 +01:00 |
|
chriseth
|
5a34743d88
|
Allow optimizer steps to run on FunctionDefinition and group suite.
|
2019-02-11 15:48:29 +01:00 |
|
chriseth
|
b34e104173
|
Make dialect a shared pointer.
|
2019-02-11 15:48:29 +01:00 |
|
chriseth
|
22c8d74a8a
|
Store all stack errors before they are thrown.
|
2019-02-04 17:32:05 +01:00 |
|
chriseth
|
77baf6caf7
|
Compilability checker.
|
2019-02-04 17:32:05 +01:00 |
|
chriseth
|
12e2187661
|
Some tuning.
|
2019-01-24 23:06:01 +01:00 |
|
Daniel Kirchner
|
29f66b2674
|
Stabilize SSAReverser.
|
2019-01-17 21:05:32 +01:00 |
|
Daniel Kirchner
|
fd16585724
|
Undo second SSA transformation and add more tests.
|
2019-01-17 20:37:43 +01:00 |
|
Daniel Kirchner
|
6de2d92f20
|
Add SSAReverser to the yul optimiser.
|
2019-01-17 20:37:43 +01:00 |
|
Daniel Kirchner
|
81f24f24e6
|
Add equivalent function combiner as Yul optimizer step.
|
2019-01-15 17:21:03 +01:00 |
|
Daniel Kirchner
|
4c8f8e9491
|
Disallow mismatching types in switch cases and detect duplicates by value for number literals.
|
2019-01-15 16:32:21 +01:00 |
|
chriseth
|
b7ef850955
|
Update tests.
|
2019-01-09 16:57:33 +01:00 |
|
chriseth
|
edda79eec5
|
Variables are free with regards to code size.
|
2019-01-09 16:57:33 +01:00 |
|
chriseth
|
9244b8ea5a
|
More code for optimizer tuning.
|
2019-01-08 18:07:14 +01:00 |
|
chriseth
|
5b8b016fae
|
Use the block flattener.
|
2019-01-08 16:02:14 +01:00 |
|
chriseth
|
884d51c1f2
|
Merge pull request #5759 from ethereum/anotherBigTest
Another ABI test case for the optimizer.
|
2019-01-08 16:01:41 +01:00 |
|
chriseth
|
2d19903d1a
|
Another ABI test case for the optimizer.
|
2019-01-08 15:14:45 +01:00 |
|
chriseth
|
f5b24a38b8
|
Make function grouper idempotent.
|
2019-01-08 15:05:09 +01:00 |
|
chriseth
|
6414d63906
|
Merge pull request #5716 from ethereum/fixDataSizeOffset
Fix data size offset and properly provide builtins.
|
2019-01-08 00:07:42 +01:00 |
|
chriseth
|
40e1283d72
|
Merge pull request #5713 from ethereum/addAztek
[Yul] Add AZTEK code as test.
|
2019-01-07 17:25:41 +01:00 |
|
chriseth
|
ace601b8f6
|
Tests.
|
2019-01-07 17:23:38 +01:00 |
|
chriseth
|
5b73c2ae3b
|
Take special functions that require literals into account.
|
2019-01-07 17:23:38 +01:00 |
|
chriseth
|
9222eff08f
|
Make the dialect available everywhere.
|
2019-01-07 16:41:03 +01:00 |
|
chriseth
|
b604b87272
|
Add AZTEK code as test.
|
2019-01-07 16:23:35 +01:00 |
|
chriseth
|
2e9c70add0
|
Use rematerializer if variable is unreferenced or value is "cheap".
|
2019-01-07 14:03:32 +01:00 |
|
chriseth
|
bf7d71d6b3
|
Merge pull request #5613 from ethereum/yulStringLiterals
[Yul] Use C++ user-defined literals for creating YulString constants.
|
2018-12-17 14:07:24 +01:00 |
|
chriseth
|
bc22a25a60
|
Remove VarDeclPropagator.
|
2018-12-13 16:51:10 +01:00 |
|
chriseth
|
6c6a53a439
|
Do not create unassigned variables.
|
2018-12-13 16:51:10 +01:00 |
|
chriseth
|
11209ec48a
|
Add variable declaration initializer.
|
2018-12-13 16:49:04 +01:00 |
|
chriseth
|
b11d413720
|
Consider return variables to be zero initially.
|
2018-12-13 16:02:30 +01:00 |
|
chriseth
|
60a368244a
|
Do not inline into already big functions.
|
2018-12-13 12:12:54 +01:00 |
|
Daniel Kirchner
|
5ac7620045
|
Use C++ user-defined literals for creating YulString constants.
|
2018-12-12 18:45:43 +01:00 |
|
chriseth
|
9557dd7e74
|
Support unassigned variables in the SSA value tracker and the data flow analyzer.
|
2018-12-12 18:06:28 +01:00 |
|
chriseth
|
fb3a0ac1c7
|
Codegen for object access.
|
2018-12-11 19:24:44 +01:00 |
|
chriseth
|
b05d33d771
|
Tests for stack reusing code generator.
|
2018-12-10 14:28:56 +01:00 |
|
Daniel Kirchner
|
1eb60cbb39
|
Add structural simplifier as optimization step for Yul.
|
2018-12-06 18:37:35 +01:00 |
|
chriseth
|
b7cfa499b0
|
Add tests.
|
2018-12-06 14:43:14 +01:00 |
|
chriseth
|
0e8841005c
|
Merge pull request #5554 from ethereum/cp-SourceReferenceFormatter-refactor
[2/3] Refactor SourceReferenceFormatter (split-out data extraction & make use of new SourceLocation knowledge)
|
2018-12-06 14:01:39 +01:00 |
|
Christian Parpart
|
073b03d90c
|
liblangutil: refactor SourceReferenceFormatter, splitting out retrieval and making use of new SourceLocation's CharStream knowledge
|
2018-12-06 14:01:01 +01:00 |
|
Mathias Baumann
|
f4e9c70ecc
|
Tests for SSAValueTracker ignoring function call on rhs
|
2018-12-05 18:01:41 +01:00 |
|
Mathias Baumann
|
5d31ad2daf
|
Test for unhandled default values in expression simplifier
|
2018-12-05 11:43:02 +01:00 |
|
chriseth
|
852297fa2f
|
Builtin functions for yul analysis.
|
2018-12-04 14:50:00 +01:00 |
|
chriseth
|
c3fc2da763
|
Tests for parser for builtins.
|
2018-12-04 14:49:16 +01:00 |
|
chriseth
|
961026347d
|
Use dialect option in yul parser tests.
|
2018-12-04 14:49:16 +01:00 |
|
chriseth
|
8654f8f6d4
|
Merge pull request #5573 from ethereum/builtins
[Yul] Introduce the concept of builtin functions.
|
2018-12-04 14:11:49 +01:00 |
|
Daniel Kirchner
|
1b8a013d4a
|
Properly recurse in ForLoopInitRewriter
|
2018-12-04 13:36:25 +01:00 |
|
chriseth
|
99db4e3ff4
|
Introduce the concept of builtin functions.
|
2018-12-04 12:06:33 +01:00 |
|