chriseth
|
4f80117eef
|
Use builtin iszero for for loop condition rewriting.
|
2019-09-12 10:26:16 +02:00 |
|
chriseth
|
7d30fbdef0
|
Extract side effects into their own struct.
|
2019-08-14 15:06:10 +02:00 |
|
chriseth
|
2b979cba38
|
Also optimize memory.
|
2019-06-20 18:43:37 +02:00 |
|
chriseth
|
1f9d11c644
|
Knowledge about storage.
|
2019-06-20 18:43:37 +02:00 |
|
chriseth
|
8edf9e4baf
|
Merge pull request #6666 from vedant1811/issue-5405
Group function definitions
|
2019-06-19 18:03:40 +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 |
|
chriseth
|
a3f721bbcc
|
Merge pull request #6583 from ethereum/reset_yulstringrepo
Reset YulStringRepository regularly
|
2019-05-28 14:20:53 +02:00 |
|
Bhargava Shastry
|
dbae0fa939
|
Reset Yul string repository before each compilation.
|
2019-05-28 13:12:39 +02:00 |
|
chriseth
|
afe887adc1
|
Split MovableChecker and introduce SideEffectsUpToMSize.
|
2019-05-28 12:54:32 +02:00 |
|
chriseth
|
9a00729ce7
|
Provide dialect to Parser and InlineAssembly AST nodes.
|
2019-05-23 00:24:58 +02:00 |
|
chriseth
|
1dc15d5864
|
Modify parser and optimizer.
|
2019-05-20 17:32:56 +02:00 |
|
chriseth
|
46d9df7574
|
Add EVM opcodes as builtins.
|
2019-05-20 16:46:31 +02:00 |
|
chriseth
|
003c170989
|
Add EVM instructions as builtin functions.
|
2019-05-20 16:46:31 +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
|
9a387380b3
|
Move generation of builtin functions to helper.
|
2019-05-16 21:51:54 +02:00 |
|
chriseth
|
7de150924c
|
Extract subIDs from Dialect to allow it being const.
|
2019-05-16 21:51:54 +02:00 |
|
chriseth
|
e8a88b13e4
|
Introduce side-effect-free as relaxed version of movable.
|
2019-05-16 12:30:05 +02:00 |
|
chriseth
|
e82dcd1f91
|
Fix namespace.
|
2019-03-28 14:55:50 +01:00 |
|
chriseth
|
2b0c653f57
|
Merge pull request #6241 from ethereum/yul-bc-codegen
Yul codegen for break & continue statements
|
2019-03-28 14:48:50 +01:00 |
|
Christian Parpart
|
b8c6274179
|
[yul] Implements EVM codegen for break/continue plus respective tests & ChangeLog entry.
|
2019-03-28 14:09:25 +01:00 |
|
chriseth
|
2308904f68
|
Remove "using namespace" from header and move Instruction to dev::eth.
|
2019-03-28 13:48:11 +01:00 |
|
Alex Beregszaszi
|
c26ffa737e
|
Use move semantics on StackToDeepError
|
2019-03-26 16:15:16 +00:00 |
|
Christian Parpart
|
7f7f44dd63
|
Improve exception information in Yul function datasize(name) and dataoffset(name).
Makes sure we properly throw a detailed exception instead of an out_of_range from std::map.
|
2019-03-19 17:17:32 +01:00 |
|
chriseth
|
6d1ed93247
|
Use stack optimizations.
|
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 |
|
Mathias Baumann
|
921d52bfcd
|
Move Literal to u256 conversions to extra functions
That way we can reuse them at different places
|
2019-03-05 18:39:27 +01:00 |
|
chriseth
|
9b7d793407
|
Fix windows build.
|
2019-02-26 19:43:24 +01:00 |
|
Leonardo Alt
|
2405b2151a
|
EVMVersion in langutil namespace instead of solidity
|
2019-02-25 15:29:57 +01:00 |
|
chriseth
|
7f5b335b47
|
Make EVM version part of EVM dialect.
|
2019-02-21 21:59:46 +01:00 |
|
chriseth
|
947215a901
|
Take builtin functions into account in the compilability checker.
|
2019-02-21 12:13:42 +01:00 |
|
chriseth
|
02373c2225
|
Adjust uses of AsmCodeGen.
|
2019-02-13 11:35:49 +01:00 |
|
chriseth
|
1ff6f2c71c
|
Move AsmCodeGen.
|
2019-02-13 11:20:15 +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
|
dd5b43741c
|
No-output Assembly.
|
2019-02-04 17:32:04 +01:00 |
|
chriseth
|
17a1e7aed5
|
Better error message for out of stack in assembly.
|
2019-01-30 12:24:10 +01:00 |
|
chriseth
|
5b73c2ae3b
|
Take special functions that require literals into account.
|
2019-01-07 17:23:38 +01:00 |
|
Christian Parpart
|
62fe57479e
|
make use of C++ = default constructor declarations as well as more non-static member initialization syntax.
|
2018-12-19 11:26:42 +01:00 |
|
Daniel Kirchner
|
5ac7620045
|
Use C++ user-defined literals for creating YulString constants.
|
2018-12-12 18:45:43 +01:00 |
|
Alex Beregszaszi
|
c863cbf80d
|
Add missing header guards
|
2018-12-12 15:47:05 +00:00 |
|
chriseth
|
fb3a0ac1c7
|
Codegen for object access.
|
2018-12-11 19:24:44 +01:00 |
|
chriseth
|
8d49e53995
|
Provide Dialect to EVMCodeTransform.
|
2018-12-11 19:24:31 +01:00 |
|
liangdzou
|
362648a450
|
Reuse stack slots in Yul to EVM code generation.
|
2018-12-10 14:28:56 +01:00 |
|
chriseth
|
3fc118ba21
|
Analyze and compile sub-objects.
|
2018-12-06 14:32:04 +01:00 |
|
chriseth
|
f6ed29b88b
|
Extend abstract assembly to be able to handle sub-objects.
|
2018-12-06 14:32:04 +01:00 |
|
Christian Parpart
|
8dd0338d12
|
Remove superfluous libyul/ASTDataForward.h and include libyul/AsmDataForward directly instead.
|
2018-11-23 14:29:05 +01:00 |
|
Christian Parpart
|
ec47c8946b
|
Isolating libyul library API into its own namespace yul .
|
2018-11-23 14:29:00 +01:00 |
|
Christian Parpart
|
0f4ed52a71
|
Rewrite header paths to adapt to recent git mv of libsolidity/inlineasm to libyul
|
2018-11-23 11:18:57 +01:00 |
|