38 Commits
Author SHA1 Message Date
Alex Beregszaszi a22077f736 Rename AsmData -> AST
Also attempt to only include ASTForward where appropriate.
2020-11-25 17:58:02 +00:00
chriseth 42c26e0bf5 Inline tiny functions first. 2020-09-10 17:01:20 +02:00
chriseth f102feaf09 Handle "leaf functions" first in full inliner. 2020-09-10 17:01:19 +02:00
chriseth e72afcba47 Fix inlining order to correspond to source order. 2020-08-26 10:20:18 +02:00
Sachin Grover b7adb2aa42 Add SPDX license identifier if not present already in source file
Fixes: #9220
2020-07-17 20:24:12 +05:30
chriseth 6fb112fa8e Remove some unneeded headers. 2020-05-07 01:49:46 +02:00
Djordje Mijovic 2efda4129b Adding test for multi return values including bool in evmTyped dialect. Calling zeroLiteralForType from inliner 2020-02-24 15:05:19 +01:00
Christian Parpart 345f9928ab Library libdevcore renamed to libsolutil. 2020-01-07 15:51:50 +01:00
Christian Parpart 6b23412fae C++ namespace cleanup (except tests). 2020-01-07 15:51:50 +01:00
chriseth b0db64ff5b Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-26 16:19:35 +01:00
Leonardo Alt 2bfa3a7c97 Rewrite GenericVisitor 2019-11-26 15:55:06 +01:00
Leonardo Alt 389da5228e Merge remote-tracking branch 'origin/develop' into merge_develop_060 2019-11-20 12:27:40 +01:00
Leonardo Alt be849b3c47 Replace boost::variant by std::variant in libyul 2019-11-19 17:23:18 +01:00
chriseth ceb8ee9124 [Yul] leave statement. 2019-10-29 14:32:16 +01:00
Christian Parpart df729b3084 Make use of C++17 std::optional<> instead of boost::optional<>. 2019-10-28 11:39:30 +01:00
chriseth 9ce1ca2340 Refactor Optimiser Steps Interface. 2019-09-24 14:52:01 +02:00
Bhargava Shastry dbae0fa939 Reset Yul string repository before each compilation. 2019-05-28 13:12:39 +02:00
chriseth 1e3878121a Do not inline recursive functions. 2019-05-22 18:15:21 +02:00
chriseth 2308904f68 Remove "using namespace" from header and move Instruction to dev::eth. 2019-03-28 13:48:11 +01:00
chriseth 3f784d6e00 Do not prepend function name to all variables when inlining. 2019-03-04 18:07:00 +01:00
Christian Parpart 065c3c87af libyul: changing some AST members from shared_ptr<> to unique_ptr<>
* Some spaces look a little more verbose now, but that shouln't be a problem as it also should raise readability, too.
* This makes some use of return-value-optimizations also.
2019-01-16 14:58:59 +01:00
Daniel Kirchner 4c8f8e9491 Disallow mismatching types in switch cases and detect duplicates by value for number literals. 2019-01-15 16:32:21 +01:00
chriseth d9c6773664 Adjust inlining thresholds. 2019-01-09 16:57:33 +01:00
chriseth 6c6a53a439 Do not create unassigned variables. 2018-12-13 16:51:10 +01:00
chriseth 60a368244a Do not inline into already big functions. 2018-12-13 12:12:54 +01:00
Daniel Kirchner 538d707439 Relax dependency of FullInliner on FunctionHoister. 2018-12-05 11:53:31 +01:00
Christian Parpart ec47c8946b Isolating libyul library API into its own namespace yul. 2018-11-23 14:29:00 +01:00
Christian Parpart 713d94476e Reorder some include files and group <libyul/>'s together (as much as possible) 2018-11-23 12:37:19 +01:00
Christian Parpart 0f4ed52a71 Rewrite header paths to adapt to recent git mv of libsolidity/inlineasm to libyul 2018-11-23 11:18:57 +01:00
chriseth 674e17c2a8 Performance: Replace string by special single-copy YulString class. 2018-11-07 19:30:27 +01:00
chriseth b2725aa913 Make full inliner more flexible. 2018-10-18 14:57:09 +02:00
chriseth 7609e2871e Merge pull request #5240 from ethereum/limitDispenserSize
[Yul] Limit name length created by dispenser
2018-10-17 22:54:38 +02:00
chriseth 732d09cef1 Limit size of generated names and add convenience constructors. 2018-10-17 17:21:55 +02:00
chriseth 9fb5feed05 Use metrics in the full inliner. 2018-10-17 14:11:20 +02:00
chriseth 2ab6430303 Inline each function separately. 2018-10-16 17:32:21 +02:00
chriseth e2e4a9fe81 New full inliner. 2018-10-16 17:16:03 +02:00
Christian Parpart 1304361b9c Renaming namespace dev::julia to dev::yul. 2018-10-15 11:58:51 +02:00
Christian Parpart 9a4bec7e47 Renaming libjulia to libyul 2018-10-15 11:52:35 +02:00