Alex Beregszaszi
|
baa7251f1d
|
More clean up
|
2020-12-03 17:14:49 +01:00 |
|
Alex Beregszaszi
|
75e0057388
|
Rename parseElementaryOperation to parseLiteralOrIdentifier
|
2020-12-03 17:14:49 +01:00 |
|
Alex Beregszaszi
|
3da2b67b67
|
simplify parser
|
2020-12-03 17:14:49 +01:00 |
|
chriseth
|
e10712c173
|
Merge pull request #10454 from ethereum/ewasm-cleanup
[ewasm] Clean up some builtins and fix text representation of `select`
|
2020-12-01 17:34:48 +01:00 |
|
chriseth
|
8279d90ba2
|
Merge pull request #10403 from ethereum/rename-asmdata
Rename AsmData* to AST*
|
2020-12-01 14:33:11 +01:00 |
|
Alex Beregszaszi
|
04cf4867fe
|
[ewasm] Clean up opcodes/builtins in the binary encoder
Also make sure that `i32.drop/i64.drop` won't silently drop its arguments, as they may have side-effects.
|
2020-12-01 12:50:54 +00:00 |
|
Alex Beregszaszi
|
a29a7ad680
|
[ewasm] Properly encode i32/i64.select in the text format
|
2020-12-01 11:22:38 +00:00 |
|
Alex Beregszaszi
|
a7ee1355bd
|
[ewasm] Use select instruction where appropriate
|
2020-11-30 12:10:32 +00:00 |
|
Alex Beregszaszi
|
9640cfd77e
|
[ewasm] Add i32.select/i64.select
|
2020-11-30 11:58:33 +00:00 |
|
chriseth
|
a5a560e163
|
Merge pull request #10417 from ethereum/onlyClearForAssignment
DataFlowAnalyzer: Only clear known values for assignment.
|
2020-11-30 12:02:28 +01:00 |
|
chriseth
|
75b1624180
|
Merge pull request #10404 from ethereum/ewasm-eq-simplify
[ewasm] Change eq() in polyfill to branch-less version
|
2020-11-30 11:54:45 +01:00 |
|
chriseth
|
45307a24d6
|
Merge pull request #10416 from ethereum/speedUpByMovingAssertion
Superspeed.
|
2020-11-30 11:35:20 +01:00 |
|
Alex Beregszaszi
|
06af2fb38a
|
[ewasm] Change eq() in polyfill to branch-less version
|
2020-11-27 22:47:55 +00:00 |
|
chriseth
|
21c35924df
|
Only clear for assignment.
|
2020-11-26 18:32:13 +01:00 |
|
chriseth
|
111eaa1e9b
|
Superspeed.
|
2020-11-26 17:38:01 +01:00 |
|
chriseth
|
ac9b31d623
|
Abort early if the optimizer sequence is empty.
|
2020-11-26 16:41:20 +01:00 |
|
Alex Beregszaszi
|
a22077f736
|
Rename AsmData -> AST
Also attempt to only include ASTForward where appropriate.
|
2020-11-25 17:58:02 +00:00 |
|
Alex Beregszaszi
|
f76ac0a753
|
[wasm] Document what StringLiteral is
|
2020-11-20 21:16:56 +00:00 |
|
Alexander Arlt
|
9d6296eca4
|
[ewasm] Polyfill: calldataload & calldatacopy.
|
2020-11-20 13:46:04 -05:00 |
|
Alexander Arlt
|
c0d28492c3
|
[ewasm] Polyfill: Rename endian_swap -> bswap.
|
2020-11-17 21:30:06 -05:00 |
|
Alexander Arlt
|
19f764bf65
|
Split ewasm polyfill functions into different files.
|
2020-11-17 19:27:44 -05:00 |
|
Alex Beregszaszi
|
6f6bcdd526
|
[ewasm] Display custom sections as hex string in the text output
|
2020-11-10 23:48:24 +01:00 |
|
Alex Beregszaszi
|
6e11754c8b
|
[ewasm] Support compiling data subobjects
|
2020-11-09 17:47:12 +00:00 |
|
Alex Beregszaszi
|
e41700e5f7
|
[ewasm] Clarify custom section handling in BinaryTransform
|
2020-11-09 17:47:01 +00:00 |
|
Alex Beregszaszi
|
cd08dab4e6
|
[ewasm] Allow compiling Yul without "main"
|
2020-11-09 16:36:29 +00:00 |
|
Alex Beregszaszi
|
1e7dcb0bbf
|
Use yulAssert instead of astAssert
|
2020-10-29 14:21:12 +00:00 |
|
Alex Beregszaszi
|
e4133815e9
|
Remove explicit yul:: namespacing in AsmJsonImporter
|
2020-10-29 14:07:43 +00:00 |
|
Alex Beregszaszi
|
1ab6340828
|
Move AsmJsonImporter from libsolidity to libyul
It is next to AsmJsonConverter now and interdependencies are shrunk.
|
2020-10-29 14:06:34 +00:00 |
|
chriseth
|
b18d5ab257
|
Fix move bug.
|
2020-10-28 17:21:08 +01:00 |
|
chriseth
|
fb40f29594
|
Merge pull request #10133 from ethereum/asm-error-codes
Split error codes for EVM opcodes
|
2020-10-28 13:00:23 +01:00 |
|
Alex Beregszaszi
|
24d8c2ed90
|
Split error codes for EVM opcodes
|
2020-10-28 11:45:46 +00:00 |
|
Alex Beregszaszi
|
13652bd4a9
|
[ewasm] Add assertion for datasize/dataoffset in BinaryTransform
|
2020-10-27 17:43:31 +00:00 |
|
Alex Beregszaszi
|
6d79a8885f
|
[ewasm] Implement stop() in EVM->Ewasm translator
|
2020-10-27 17:09:30 +00:00 |
|
Daniel Kirchner
|
61a03036fe
|
Refactor stack to memory mover in preparation of moving function arguments.
|
2020-10-13 12:20:04 +02:00 |
|
chriseth
|
d513e05ce9
|
Merge pull request #9961 from ethereum/stackLimitEvaderRefactor2
StackToMemoryMover: encapsulate memory offset tracking into its own class.
|
2020-10-08 19:56:44 +02:00 |
|
chriseth
|
70ebc0a13c
|
Merge pull request #9960 from ethereum/stackLimitEvaderRefactor
StackLimitEvader: Track unreachable variables globally instead of per function.
|
2020-10-08 19:01:26 +02:00 |
|
Daniel Kirchner
|
5442a7ade2
|
Always run the FunctionHoister as part of the optimizer Suite.
|
2020-10-06 22:30:37 +02:00 |
|
Daniel Kirchner
|
c8a7098f2f
|
StackToMemoryMover: encapsulate memory offset tracking into its own class.
|
2020-10-06 11:10:43 +02:00 |
|
Daniel Kirchner
|
0b87849bcb
|
Track unreachable variables globally instead of per function.
|
2020-10-06 10:38:26 +02:00 |
|
Alexander Arlt
|
b6e1415509
|
Add LEB128 encoding functions & tests.
|
2020-09-28 16:06:19 -05:00 |
|
Daniel Kirchner
|
f3c2d6cfdc
|
Move memory load and store functions to the dialect.
|
2020-09-17 22:13:27 +02:00 |
|
Daniel Kirchner
|
48f620fb50
|
Reverse the order of the memory offsets assigned to variables.
|
2020-09-17 22:13:27 +02:00 |
|
Daniel Kirchner
|
976abf4715
|
Easy review fixes.
|
2020-09-17 22:13:27 +02:00 |
|
Daniel Kirchner
|
f4b42d1c72
|
Add stack limit evader.
|
2020-09-17 22:13:27 +02:00 |
|
chriseth
|
6e2d2feb10
|
Small fixes wrt ReasoningBasedSimplifier.
|
2020-09-16 18:08:54 +02:00 |
|
chriseth
|
bfd3ab23e2
|
Disallow optimizer steps that require SMT if none is available.
|
2020-09-15 15:57:59 +02:00 |
|
chriseth
|
9bcc2f1713
|
Make ReasoningBasedSimplifier available as step.
|
2020-09-15 15:57:59 +02:00 |
|
chriseth
|
f73fb726af
|
Reasoning based optimizer.
|
2020-09-15 15:57:58 +02:00 |
|
chriseth
|
552a5f0913
|
Merge pull request #9314 from ethereum/inlineStartingFromLeaves
Handle "leaf functions" first in full inliner.
|
2020-09-14 20:22:48 +02:00 |
|
chriseth
|
8e39110a30
|
Remove flag.
|
2020-09-14 17:35:04 +02:00 |
|