Daniel Kirchner
7fe03cbab0
Implement cxx20 polyfill and replace InvertibleMap entirely.
2021-01-12 21:40:40 +01:00
Daniel Kirchner
625d402dbb
Various optimizations for the DataFlowAnalyzer.
2021-01-12 21:39:20 +01:00
Leonardo Alt
ced79497f5
Fix BFS
2021-01-06 10:17:17 +01:00
Alex Beregszaszi
0425936c8a
Rename AsmScope* to Scope*
2020-12-18 11:55:17 +00:00
Alex Beregszaszi
9230faf9a3
Simplify StackTooDeepError in Yul
2020-12-16 20:35:11 +00:00
chriseth
8f833f4e8f
Merge pull request #10618 from ethereum/develop
...
Merge develop into breaking.
2020-12-16 12:34:41 +01:00
chriseth
5c40fb060c
Report illegal tokens in the Yul parser.
2020-12-16 12:20:07 +01:00
chriseth
6c7e6a3c9f
Merge pull request #10615 from ethereum/develop
...
Merge develop into breaking.
2020-12-15 18:34:01 +01:00
Bhargava Shastry
9b38176c77
AsmAnalysis: Fix out of bounds read due to incorrect bounds checking on literal arguments
2020-12-15 15:38:59 +01:00
chriseth
561280a5cc
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-14 11:33:40 +01:00
Alex Beregszaszi
bd641a5206
Enable more C++ compiler warnings
2020-12-10 21:03:58 +00:00
Alex Beregszaszi
2b09fa14e1
Disallow using reserved identifiers in Yul
2020-12-10 17:10:38 +01:00
Alex Beregszaszi
7df986539f
Disallow using reserved identifiers in NameDispenser/VarNameCleaner
2020-12-10 17:10:38 +01:00
Alex Beregszaszi
3a687c34e4
Add reservedIdentifier to dialect
2020-12-10 17:10:38 +01:00
chriseth
482bda6887
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-10 12:15:52 +01:00
chriseth
d75821e068
Merge pull request #10536 from ethereum/fix-createlinkingfunction-to-cpp
...
Move the implementation of createLinkingFunction into a cpp file
2020-12-09 17:49:16 +01:00
chriseth
b18c76e34b
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-09 15:24:49 +01:00
hrkrshnn
06d719e4f1
Move filter to CommonData.h
2020-12-09 11:13:27 +01:00
hrkrshnn
7ea96c5583
Move the implementation of createLinkingFunction into a cpp file
2020-12-09 11:13:27 +01:00
Alexander Arlt
90623d9507
Fix recompilation of polyfills.
2020-12-08 20:02:25 -05:00
chriseth
806453aca9
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-08 21:00:09 +01:00
Alex Beregszaszi
7e88ba8da0
Enable the -Wconversion warning
2020-12-08 16:45:24 +00:00
chriseth
a3c5d37d02
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-07 17:13:48 +01:00
Daniel Kirchner
6c70208d5f
Merge pull request #10359 from ethereum/extra-semi
...
Enable the -Wextra-semi warning
2020-12-07 14:35:30 +01:00
chriseth
329b8f2a60
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-07 13:04:14 +01:00
chriseth
5e61f2a8cb
Merge pull request #10491 from ethereum/loadStoreDialectFunctions
...
Add storage load/store functions to Yul dialect.
2020-12-07 12:19:20 +01:00
Alex Beregszaszi
1e2bfbd6b2
Enable the -Wextra-semi warning
2020-12-04 17:21:19 +01:00
Daniel Kirchner
96a50b52e2
Add storage load/store functions to Yul dialect.
2020-12-03 19:10:05 +01:00
chriseth
d56a7bb89e
Merge pull request #10489 from ethereum/develop
...
Merge develop into breaking.
2020-12-03 18:11:12 +01:00
chriseth
e04cc80438
Merge pull request #9555 from ethereum/yul-parser-refactor
...
Yul parser refactor
2020-12-03 18:07:31 +01:00
chriseth
27e44b85e3
Merge pull request #10419 from ethereum/bug-namesimplifier
...
Fix a bug in NameSimplifier.
2020-12-03 17:52:40 +01:00
chriseth
5071709b25
Remove FunctionCall from ElementaryOperation.
2020-12-03 17:47:47 +01:00
Alex Beregszaszi
61ed1f1986
cleanup
2020-12-03 17:15:45 +01:00
Alex Beregszaszi
6c0a3bd043
Ensure that builtins must be executed
2020-12-03 17:15:44 +01:00
Alex Beregszaszi
e2a756a705
Remove dead code
2020-12-03 17:15:44 +01:00
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
hrkrshnn
3efac3eef0
NameSimplifier is removed from steps available to users.
2020-12-02 13:48:01 +01:00
hrkrshnn
5a15a4a6bd
Fix a bug in NameSimplifier.
...
A new name created by NameSimplifier could also be created by NameDispenser, since the knowledge of
the new name was not stored in NameSimplifier.
2020-12-02 13:48:01 +01:00
chriseth
9a5902f9d7
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-02 12:28:02 +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
chriseth
6de7eaba95
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-01 10:50:13 +01:00
hrkrshnn
cf6fe5a777
NameDispenser: Added three public functions.
...
The private function `illegalName` was converted into a public function.
A new public getter function `usedNames()` returns a reference to `m_usedNames`.
A public function reset that would change all `m_usedNames` to *only* the names that are used in the
AST. Also resets the counter. This will be used before the final NameSimplifier step in the
optimization phase.
The first two functions were added so that `NameSimplifier` could use it instead of traversing the AST
using `NameCollector` to find used names.
2020-11-30 14:02:57 +01: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