Commit Graph
560 Commits
Author SHA1 Message Date
chriseth 1531863835 Split Common.h into Numeric.h. 2021-09-23 15:27:29 +02:00
Kamil Śliwak d23754eafd AsmParser: Don't use locationOverride as current location when location from comments is selected 2021-09-22 13:11:39 +02:00
Kamil Śliwak ce4420f857 Separate DebugData fields for Solidity and Yul source locations 2021-09-22 13:11:39 +02:00
Kamil Śliwak 84ca67c283 Yul syntax tests showing broken behavior 2021-09-22 13:11:39 +02:00
chriseth 7726f37946 Update tests. 2021-09-22 11:33:02 +02:00
chriseth 63993387d6 Add test for invalid ast id. 2021-09-16 17:18:48 +02:00
chriseth 05d20446bb Parse @ast-id annotation. 2021-09-16 17:18:48 +02:00
Leonardo e45083f319 Merge pull request #11606 from ethereum/info_message
Add new info severity
2021-09-14 14:30:07 +02:00
Kamil Śliwak d78522b08b AsmParser: Accept optional code snippets after the @src tags 2021-09-14 12:09:59 +02:00
Leo Alt e72fa7fc10 Add new info severity 2021-09-13 22:48:22 +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