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
Kamil Śliwak
9d7df5db69
OptimiserSuite: Add a variant of runSequence() that works with a string of abbreviations
2020-04-16 16:09:15 +02:00
Kamil Śliwak
1b4e06605d
OptimiserSuite: Extract the code for repeating a sequence into runSequenceUntilStable()
...
- Define a constant for the maximum number of repeats of the optimisation string
2020-04-16 15:23:38 +02:00
Alexander Arlt
aac7a1e434
Apply modernize-pass-by-value.
2020-04-14 10:32:13 -05:00
chriseth
a7a1feb1b8
Merge pull request #8626 from ethereum/immutable-functioncallgraph
...
Prepare literalArguments for immutable builtin functions
2020-04-09 15:46:02 +02:00
Mathias Baumann
5203503583
Allow for per-parameter literalValues builtin functions
2020-04-08 16:41:38 +02:00
chriseth
823a119117
Merge pull request #8570 from aarlt/clang-tidy-apply-modernize-use-emplace
...
clang-tidy: Apply modernize-use-emplace.
2020-04-07 17:28:50 +02:00
Alexander Arlt
cae6e7769f
Apply modernize-use-override.
2020-04-02 18:00:44 -05:00
Alexander Arlt
90bb1d8a7c
Apply modernize-use-emplace.
2020-04-02 17:35:48 -05:00
Daniel Kirchner
04d8ad2ae1
Legacy codegeneration for immutable state variables.
2020-03-24 16:45:25 +01:00
Leonardo Alt
89ce2dbfe9
The identifier var
should be fine in Yul
2020-03-11 18:45:08 +01:00
chriseth
a3d5af30c6
Mention ControlFlowSideEffects explicitly to ease the burden on MSVC.
2020-03-10 12:55:23 +01:00
Daniel Kirchner
809e3503ba
Control flow analysis for inline assembly.
2020-03-09 16:23:10 +01:00