chriseth
d2e9b4e946
Merge pull request #9151 from ethereum/wasm-binary-transform-refactor-index-registration
...
Refactor the index assignment logic in wasm::BinaryTransform
2020-06-10 10:39:33 +02:00
TrentZ
7eb73b52a1
Rename blacklist for clarity.
2020-06-09 23:43:14 +02:00
Kamil Śliwak
edfbae0167
was/BinaryTransform: Remove unnecessary std:: prefixes from the .cpp file
2020-06-09 17:34:32 +02:00
Kamil Śliwak
b9ecccdece
wasm/BinaryTransform: Rename globals and functions to globalIDs and functionIDs
2020-06-09 17:29:34 +02:00
Kamil Śliwak
b2a8639c20
wasm/BinaryTransform: Make most of section generation stateless and pass global/function/type maps via parameters
2020-06-09 17:29:08 +02:00
Kamil Śliwak
adbd4be151
wasm/BinaryTransform: Make global/function/type maps constant
2020-06-09 17:26:00 +02:00
Kamil Śliwak
4b1ea93b41
wasm/BinaryTransform: Put code for enumerating globals/functions/types in separate functions
2020-06-09 17:26:00 +02:00
Harikrishnan Mulackal
d8263d331e
Ignore warnings for yulOptimizer tests
2020-06-09 13:03:57 +02:00
Harikrishnan Mulackal
73e634924e
Warn on YUL switch statement with only default statement
2020-06-09 12:32:53 +02:00
Kamil Śliwak
fe0a0802b2
wasm/BinaryTransform: Fix wrong alignment for .load/.store with arguments smaller than 64-bits
2020-06-06 00:00:46 +02:00
Kamil Śliwak
976a0f9395
wasm/BinaryTransform: Don't add an empty local entry in binary wasm if there are no locals
2020-06-05 21:03:06 +02:00
Christian Parpart
c708a1bec2
AsmAnalysis: Fixes a superfluous whitespace in an error string
2020-06-03 12:23:06 +02:00
Kamil Śliwak
c96196c346
Define constants to make flag meanings more apparent in binary wasm
2020-05-28 22:17:02 +02:00
chriseth
65d8b6cf75
Merge pull request #9033 from a3d4/partfix-5819-add-errorid-to-error-class
...
Add unique ID to Error class
2020-05-28 16:24:47 +02:00
a3d4
011f8a462d
Remove AsmAnalyzer class-specific error reporting functions
2020-05-28 02:02:53 +02:00
chriseth
eb923af09c
Do not set source locations for small internal assembly routines.
2020-05-27 18:26:46 +02:00
chriseth
a06ac0f39f
Merge pull request #8958 from ethereum/evm-version-dependent-rules
...
[yul] Add support for EVM version-dependent rules.
2020-05-27 12:52:51 +02:00
Christian Parpart
b7fa5d5040
Mark EVM instruction pc()
as deprecated when used in inline assembly.
2020-05-27 12:07:23 +02:00
Alexander Arlt
a7b89065ca
[yul] Add support for EVM version-dependent rules.
2020-05-27 11:57:08 +02:00
chriseth
bd64e537cb
Fix implementation of leave.
2020-05-26 10:24:01 +02:00
Alex Beregszaszi
cfdfa36065
Rename wasm::Break(If) to wasm::Branch(If) for clarity
2020-05-21 00:02:02 +01:00
Kamil Śliwak
d199fc537b
Add configurable weights to CodeSize metric
2020-05-20 16:47:23 +02:00
chriseth
84092edc5d
Merge pull request #8914 from random-internet-cat/down-with-unique-ptr
...
Down with unique_ptr!
2020-05-20 13:22:06 +02:00
chriseth
4e9f6c3508
Fix webassembly loops by adding explicit break at the end.
2020-05-19 22:16:16 +02:00
chriseth
a05e8c1a0e
Merge pull request #8956 from a3d4/partfix-5819-introduce-errorwatcher
...
Introduce ErrorWatcher
2020-05-19 17:24:01 +02:00
Jason Cobb
899e6d7e2b
Use optional for FunctionImport::returnType
2020-05-18 10:24:38 -04:00
a3d4
9f8d5753ce
Introduce ErrorWatcher and remove a dedicated error flag from AsmAnalyzer
2020-05-18 16:06:23 +02:00
chriseth
f92a4f1965
Provide runtime object in Yul mode.
2020-05-18 13:48:23 +02:00
chriseth
6308ca4a22
Binary transform for br and br_if.
2020-05-14 11:30:19 +02:00
Mathias Baumann
820fdd9bf7
Escape backslashes when formatting
2020-05-13 17:08:37 +02:00
chriseth
7da453014d
Fix source location of yul variable declarations without value.
2020-05-12 17:45:19 +02:00
Daniel Kirchner
c1ed5bbb0f
Update Dockerfiles and CI scripts to Ubuntu 20.04 and simplify them.
2020-05-11 17:35:01 +02:00
chriseth
debee799dc
Merge pull request #8892 from ethereum/boost-cxx11
...
Replace boost/algorithm/cxx11 with C++11 features
2020-05-11 16:29:42 +02:00
chriseth
3312150d7f
Merge pull request #8878 from ethereum/selecting-yul-optimisation-steps-in-strict-assembly-mode
...
Selecting Yul optimisation steps in strict assembly mode
2020-05-11 16:05:57 +02:00
Alex Beregszaszi
875415a132
Replace boost/algorithm/cxx11 with C++11 features
2020-05-11 14:27:54 +01:00
Alex Beregszaszi
81397dc2c5
Remove "using boost*;" statements
2020-05-11 13:41:58 +01:00
chriseth
5a6c7ad65f
Merge pull request #8886 from ethereum/pragma-once
...
Add header guard to two files
2020-05-11 12:08:08 +02:00
Alex Beregszaszi
338e55be10
Add header guard to two files
2020-05-11 10:44:20 +01:00
a3d4
c3e519a151
Add unique IDs to error reporting calls
2020-05-09 01:28:55 +02:00
Kamil Śliwak
e8aec6de54
More information about --yul-optimizations option in READMEs and docs
2020-05-08 22:29:57 +02:00
chriseth
6fb112fa8e
Remove some unneeded headers.
2020-05-07 01:49:46 +02:00
a3d4
8f68c04358
Add unique IDs to error reporting calls
2020-05-06 13:53:46 +02:00
Daniel Kirchner
b580106c80
Yul parser hack and more yul tests.
2020-05-05 17:23:41 +02:00
Mathias Baumann
debcc8c056
Add setimmutable and loadimmutable to dialect.
2020-05-04 15:00:50 +02:00
Kamil Śliwak
c41a832f65
Move the default optimisation steps from OptimiserSuite to OptimiserSettings
...
- Now it's a mandatory parameter in OptimiserSuite::run()
2020-04-24 17:30:56 +02:00
Kamil Śliwak
69b79f848b
OptimiserSuite: Allow validating the optimisation sequence without executing it
...
- Create a separate validateSequence() that can be used independently.
- Tweak the exception messages a bit to be usable as command-line errors
2020-04-24 17:30:56 +02:00
Kamil Śliwak
e2c0e6331c
OptimiserSuite: Define NonStepAbbreviations and use it for extra sanity checks
2020-04-24 17:30:56 +02:00
Kamil Śliwak
5a515240ac
OptimiserSuite: Use brackets instead of parentheses as syntax for repeating abbreviation sequences
...
- We want to start accepting abbreviation sequences on the command line and parentheses would always have to be escaped in that context.
- There wasn't any important reason behind choosing () rather than [] or {} and it still isn't too late to switch.
2020-04-24 17:30:56 +02:00
chriseth
f82f167290
Yul formatting: Reduce multiple consecutive empty lines to a single one.
2020-04-23 13:49:12 +02:00
Kamil Śliwak
9db7d2bde9
OptimiserSuite: Replace full step names in run() with abbreviations
2020-04-16 16:09:15 +02:00