Kamil Śliwak
d78522b08b
AsmParser: Accept optional code snippets after the @src tags
2021-09-14 12:09:59 +02:00
Kamil Śliwak
fbdfc6bb7a
AsmParser: Require whitespace before tags in location comments
2021-09-09 18:27:29 +02:00
Kamil Śliwak
14396c207c
AsmParser: Generalize location comment parsing to make it easier to add support for more tags
2021-09-09 17:12:59 +02:00
Kamil Śliwak
33ac5478de
More tests for @src in AsmParser
2021-09-09 17:12:58 +02:00
Kamil Śliwak
066c2a4699
Check expected errors in existing AsmParser tests
2021-09-09 17:12:58 +02:00
Daniel Kirchner
c499f27a63
Change RematCandidateSelector to not depend on variable name sorting.
2021-09-08 15:41:40 +02:00
hrkrshnn
2cdd3b2081
Resolving Keccak-256: check if arguments are identifiers early.
...
Previously, the check on whether the optimization was useful gas wise was done before checking if
the keccak256 opcode had identifier as arguments. Since the gas meter crashes when encountering
certain Yul opcodes (create, dataoffset, etc.), this optimizer step crashed.
2021-09-06 13:48:07 +02:00
Daniel Kirchner
d384664dcb
Merge pull request #11615 from ethereum/yulStackLayoutGenerator
...
Yul Stack Layout Generator (New Code Transform Step 2)
2021-09-03 13:13:18 +02:00
Daniel Kirchner
f881409ea4
Stack layout generator for new code generation.
2021-09-02 17:47:19 +02:00
chriseth
5caa15879b
Allow and require use-src to be repeated for each object.
2021-09-02 11:29:42 +02:00
soroosh-sdi
b0ce98bcb2
Using range-v3 instead of boost
...
Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
2021-08-24 23:50:23 +04:30
chriseth
a467f3205c
Tests for knowledge base.
2021-08-19 12:51:54 +02:00
chriseth
4b038e3f02
Extend knowledge base.
2021-08-18 12:42:46 +02:00
chriseth
4480662a58
Test.
2021-08-16 18:54:33 +02:00
hrkrshnn
43605d9299
Tests and Changelog for basefee.
2021-08-11 09:51:12 +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
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
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
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
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
Kamil Śliwak
105b4b4c8b
Update tests
2021-07-05 13:46:53 +02:00
Kamil Śliwak
703a73f949
EVMCodeTransformTest: Disable all non-stack optimizations
2021-07-01 16:54:09 +02:00
Alex Beregszaszi
cd60ade472
Improve some Yul object and command line tests to avoid using pop() which can be optimized out
2021-07-01 16:54:09 +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
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
Daniel Kirchner
284e8a103f
Remove potentially non-deterministic test case.
2021-06-09 14:42:16 +02:00
Djordje Mijovic
e404b6e7a6
Refactoring yul source locations.
2021-05-04 16:05:23 +02:00
chriseth
2cd0bb11dc
Merge pull request #11316 from ethereum/verbatimdata-tests
...
Added a few optimizer tests for Verbatim
2021-04-28 10:19:19 +02:00
hrkrshnn
8b4eaeabbf
Added a few optimizer tests for Verbatim
2021-04-28 09:56:45 +02:00
Kamil Śliwak
43de99dee5
Use 'optimizationPreset: none' for objectCompiler tests that rely on things that could get optimized out
2021-04-27 14:07:04 +02:00
Kamil Śliwak
a51d72fb89
ObjectCompilerTest: Replace 'optimize' setting with 'optimizationPreset'
2021-04-27 14:06:56 +02:00
chriseth
f72592549b
Merge pull request #11110 from ethereum/issue_10475_isoltest_external_sources
...
[isoltest] Add support for external sources.
2021-04-27 10:54:39 +02:00
chriseth
2b5a24e82e
Add function side effects test.
2021-04-26 19:56:44 +02:00
chriseth
e2d8005737
Add verbatim builtin.
2021-04-26 19:56:44 +02:00
Alexander Arlt
481971cbcf
[isoltest] Add support for external sources.
2021-04-26 08:27:30 -05:00
Alex Beregszaszi
73b804aff4
Update tests
2021-04-23 15:54:10 +01:00
Harikrishnan Mulackal
f162c484ca
Merge pull request #11026 from ethereum/resolve-keccak
...
Evaluate ``keccak256(a, const)``, when the value at memory location ``a`` is known at compile time and ``const <= 32``
2021-04-22 19:18:19 +02:00
hrkrshnn
b599235b8d
Skip resolving Keccak if AST contains msize.
...
Also a refactoring changing `m_optimizeMLoad` to `m_containsMSize`.
2021-04-22 18:19:47 +02:00