Daniel Kirchner
|
1612648268
|
Maintain only one best candidate during combineStack.
|
2021-08-17 13:24:11 +02:00 |
|
Daniel Kirchner
|
79d39d241c
|
Simplify compressStack.
|
2021-08-17 13:24:11 +02:00 |
|
Daniel Kirchner
|
a58694ca4d
|
Also push deep slots early if swapping is required later.
|
2021-08-17 13:24:11 +02:00 |
|
Daniel Kirchner
|
ae48500147
|
Refactor createIdealLayout slightly and add more comments.
|
2021-08-16 17:34:00 +02:00 |
|
Daniel Kirchner
|
3bfd437ba7
|
Fixup! coding style from review suggestion.
|
2021-08-16 17:34:00 +02:00 |
|
Daniel Kirchner
|
556bd9adfc
|
Remove fixStackTooDeep and adjust combineStack comments.
|
2021-08-16 17:34:00 +02:00 |
|
Daniel Kirchner
|
3bb7414703
|
Review comments.
|
2021-08-16 17:34:00 +02:00 |
|
Daniel Kirchner
|
387c248601
|
Adjust pushDeepSlotIfRequired (and rename to dupDeepSlotIfRequired).
|
2021-08-16 17:34:00 +02:00 |
|
Daniel Kirchner
|
eca4fb6781
|
Adjust and extend comments for the stack shuffling operations.
|
2021-08-16 17:34:00 +02:00 |
|
Daniel Kirchner
|
535d30bbb3
|
Avoid dupping slots if doing so causes other needed slots to become unreachable.
|
2021-08-16 17:34:00 +02:00 |
|
Daniel Kirchner
|
74edc40a7e
|
Reorder functions in implementation to match order in header.
|
2021-08-16 17:34:00 +02:00 |
|
Daniel Kirchner
|
6037c4f26c
|
Add function to FunctionReturnLabelSlot and assert that functions are identical in comparison operators.
|
2021-08-16 17:34:00 +02:00 |
|
Daniel Kirchner
|
9f46fff467
|
Review suggestions and a lot more comments.
|
2021-08-16 17:34:00 +02:00 |
|
Daniel Kirchner
|
a756ec3e0e
|
Attempt to split up the main algorithm a bit.
|
2021-08-16 17:33:59 +02:00 |
|
Daniel Kirchner
|
1fd4cf2254
|
Stack layout generator for new code generation.
|
2021-08-16 17:33:59 +02:00 |
|
chriseth
|
3622b30a1d
|
Refactor RedundantAssignEliminator.
|
2021-08-13 14:25:14 +02:00 |
|
chriseth
|
90c4623460
|
Some more base fees.
|
2021-08-12 16:37:21 +02:00 |
|
chriseth
|
a4c94a1b5b
|
Fixed inline assembly external identifier access.
|
2021-08-11 18:18:29 +02:00 |
|
hrkrshnn
|
7f1a2be0fe
|
Allow basefee as Yul identifier for EVMVersion < london
This was done to prevent basefee from being a breaking change. This change will be removed in 0.9.0.
TODO revert this commit in breaking.
|
2021-08-11 10:46:08 +02:00 |
|
hrkrshnn
|
95091f6b58
|
Implemented block.basefee in Solidilty and basefee() in Yul.
Also added basefee to Yul grammar.
|
2021-08-09 16:18:08 +02:00 |
|
chriseth
|
467cbf92bc
|
Only provide code generator to CodeTransform.
|
2021-08-04 18:38:10 +02:00 |
|
chriseth
|
ae519c1278
|
Merge pull request #11658 from ethereum/removeScannerFromCompilerStack
Remove scanner from compiler stack
|
2021-08-03 17:47:39 +02:00 |
|
chriseth
|
d7a40622e4
|
Merge pull request #11729 from ethereum/build-speedups
header file cleanups
|
2021-08-03 16:44:54 +02:00 |
|
Christian Parpart
|
af18b8afc2
|
Eliminate some unnecessary header inclusions in headers in Scanner.h and SourceReferenceFormatter.h
|
2021-08-03 15:43:17 +02:00 |
|
Christian Parpart
|
6294aa871a
|
Simplify AsmParser::parse(.) usage
|
2021-08-03 15:43:17 +02:00 |
|
chriseth
|
ffc5cfd9a5
|
Remove scanner from compiler stack.
|
2021-08-03 15:43:17 +02:00 |
|
Christian Parpart
|
81e9225304
|
Eliminate some unnecessary header inclusions in headers.
|
2021-08-03 15:43:14 +02:00 |
|
Mathias Baumann
|
2ee6c7be64
|
Print @src and @use-src locations in AsmPrinter
|
2021-08-03 15:29:52 +02:00 |
|
Christian Parpart
|
3755210b7b
|
[libyul] ObjectParser: Enables the use of custom source mapping via @use-src.
|
2021-07-27 16:46:47 +02:00 |
|
Daniel Kirchner
|
f3707f2ab0
|
Control flow graph for Yul.
|
2021-07-15 15:24:12 +02:00 |
|
Kamil Śliwak
|
6753c8f624
|
Rename escapeAndQuoteYulString() back to escapeAndQuoteString()
|
2021-07-14 21:29:01 +02:00 |
|
chriseth
|
01dc77e5a2
|
Properly assign source names for AST import.
|
2021-07-14 15:12:10 +02:00 |
|
chriseth
|
f75b55071e
|
Remove CharStream from SourceLocation.
|
2021-07-14 15:12:07 +02:00 |
|
chriseth
|
e5ab68ed71
|
Use unknown file for invalid source index.
|
2021-07-12 17:35:49 +02:00 |
|
Christian Parpart
|
f129a3498c
|
Use shared DebugData for when using source locations from comments.
|
2021-07-09 11:50:50 +02:00 |
|
Christian Parpart
|
5e4868d5d6
|
Adapted tests due to more precise Yul source locations.
Also added support for -1 source index, referencing original scanner's source location.
|
2021-07-09 11:50:48 +02:00 |
|
Christian Parpart
|
132fa46faa
|
Yul: Adds parsing @src comment in AsmParser to customize the AST's sourcer locations.
|
2021-07-09 11:48:00 +02:00 |
|
Christian Parpart
|
43cde4e175
|
Adds missing include header (for DebugData).
|
2021-07-09 11:46:59 +02:00 |
|
Christian Parpart
|
f9f32c910d
|
Fix source location for `if` statements.
|
2021-07-07 17:37:01 +02:00 |
|
chriseth
|
8d5e82b406
|
Fix source location of builtin function calls.
|
2021-07-06 16:54:29 +02:00 |
|
Alex Beregszaszi
|
847e30e6ff
|
Optimise libevmasm in yul
|
2021-07-05 13:46:53 +02:00 |
|
Daniel Kirchner
|
c341445f8e
|
Maintain disambiguation when generating new functions in StackToMemoryMover.
|
2021-06-28 18:11:57 +02:00 |
|
Daniel Kirchner
|
bc288aacf5
|
Have the stack optimization in the code transform only reuse slots that are reachable and fix argument slot reuse on functions without return variables.
|
2021-06-28 18:11:57 +02:00 |
|
Daniel Kirchner
|
dfce7b667d
|
Move function arguments and return values.
|
2021-06-28 18:11:57 +02:00 |
|
Daniel Kirchner
|
cc0169ad68
|
Function definition collector.
|
2021-06-28 18:11:57 +02:00 |
|
Kamil Śliwak
|
19fada966f
|
Do not use \b, \v and \f escapes in string literals in generated Yul code
|
2021-06-28 14:13:47 +02:00 |
|
chriseth
|
0df8a38e55
|
Support metadata via IR.
|
2021-06-21 18:20:31 +02:00 |
|
Alex Beregszaszi
|
6ae09ee0cc
|
Add AssemblyStack.assembleEVM which returns both deploy and runtime assemblies
|
2021-06-17 15:35:59 +02:00 |
|
Alex Beregszaszi
|
05e3e723f5
|
Remove non-existing AssemblyStack.assembleAndGuessRuntime from header
|
2021-06-17 15:28:22 +02:00 |
|
chriseth
|
fe35512feb
|
Remove EVMAssembly.
|
2021-06-08 18:41:22 +02:00 |
|