Commit Graph
723 Commits
Author SHA1 Message Date
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
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