Daniel Kirchner
a683ea7646
Remove the expression callback from the code generator functions of Yul builtins.
2021-09-06 17:07:53 +02:00
chriseth
e2d8005737
Add verbatim builtin.
2021-04-26 19:56:44 +02:00
hrkrshnn
94f9410abe
Added hashFunction to Dialect. For EVMDialect, it is keccak256
...
In a later PR, the functions `storageLoadFunction`, `storageStoreFunctions`, etc will be refactored
to return a YulString instead of a pointer to a BuiltinFunction.
2021-04-22 17:27:57 +02:00
Alex Beregszaszi
3a687c34e4
Add reservedIdentifier to dialect
2020-12-10 17:10:38 +01:00
Daniel Kirchner
96a50b52e2
Add storage load/store functions to Yul dialect.
2020-12-03 19:10:05 +01:00
Alex Beregszaszi
a22077f736
Rename AsmData -> AST
...
Also attempt to only include ASTForward where appropriate.
2020-11-25 17:58:02 +00:00
Daniel Kirchner
f3c2d6cfdc
Move memory load and store functions to the dialect.
2020-09-17 22:13:27 +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
Mathias Baumann
debcc8c056
Add setimmutable and loadimmutable to dialect.
2020-05-04 15:00:50 +02:00
Mathias Baumann
5203503583
Allow for per-parameter literalValues builtin functions
2020-04-08 16:41:38 +02:00
chriseth
e728cd76b6
Introduce typed named functions to dialect.
2020-02-24 15:05:19 +01:00
chriseth
db33ff6408
Clean up built-in instructions.
2020-01-29 19:01:28 +01:00
chriseth
90c98a3289
Introduce typed EVM dialect.
2020-01-29 17:25:25 +01:00
chriseth
123ea0a250
Remove asm flavour.
2020-01-14 17:16:09 +01:00
Christian Parpart
6b23412fae
C++ namespace cleanup (except tests).
2020-01-07 15:51:50 +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
dc2adb3d9d
Assembly: Removing EVMDialect::looseAssemblyForEVM().
2019-10-25 15:01:26 +02:00
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
6cb6fe35ef
Make Yul optimizer not fail for wasm.
2019-06-17 18:42:47 +02:00
chriseth
46d9df7574
Add EVM opcodes as builtins.
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
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
5b73c2ae3b
Take special functions that require literals into account.
2019-01-07 17:23:38 +01:00
chriseth
fb3a0ac1c7
Codegen for object access.
2018-12-11 19:24:44 +01:00