Commit Graph
2088 Commits
Author SHA1 Message Date
chriseth 48749146da Fix a bug in CSE where a variable that was already out of scope was used. 2018-10-18 14:55:51 +02:00
chriseth c34fa43d5b Test case that shows a CSE bug related to scopes. 2018-10-18 14:54:23 +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 c6a6e9ac5d Merge pull request #5232 from ethereum/inlineHeuristic
[Yul] Add simple inlining heuristic
2018-10-17 17:22:46 +02:00
chriseth 732d09cef1 Limit size of generated names and add convenience constructors. 2018-10-17 17:21:55 +02:00
chriseth 16c2a775fd Handle externally supplied variables correctly in disambiguator. 2018-10-17 14:12:11 +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 a435a14e13 Test for crash via inlining. 2018-10-16 17:29:20 +02:00
chriseth e2e4a9fe81 New full inliner. 2018-10-16 17:16:03 +02:00
chriseth ffe44536fe Add a "full simplify" test that applies multiple elementary transforms. 2018-10-16 16:18:39 +02:00
chriseth a320eec7d3 New simplifier via broken expressions. 2018-10-16 16:18:39 +02:00
chriseth b723893ac7 Merge pull request #5225 from mestorlx/issue5007
Prevent crash in case there are no contracts
2018-10-16 14:25:58 +02:00
chriseth 036929aba1 Merge pull request #5226 from ethereum/chriseth-patch-3
Correct include path
2018-10-15 19:51:25 +02:00
chriseth 8677d9276a Merge pull request #5222 from ethereum/yul-block-flattener
[WIP] Yul: Introduces a block flattening pass
2018-10-15 19:50:10 +02:00
mestorlx 9f9d6fdcc4 fix issue##5007 2018-10-15 14:26:15 -03:00
Christian Parpart 04612936c2 Yul: Introduces a block flattening pass + tests 2018-10-15 18:21:34 +02:00
chriseth 3d4e5f30e1 Correct include path 2018-10-15 18:08:41 +02:00
Bhargava Shastry 55d91d5f9c Bug fix: Add missing include in test/Options.h; otherwise compiler does not recognise the boost object that Options subclasses 2018-10-15 17:14:22 +02:00
Leonardo Alt e4851cf59e [SMTChecker] Inline calls to internal functions 2018-10-15 15:11:21 +02:00
chriseth 6202628cfe Merge pull request #5221 from ethereum/splitRenamingLeftovers
Some renaming leftovers.
2018-10-15 14:22:17 +02:00
chriseth 0778fb2dfc Merge pull request #5208 from mestorlx/bug4156
[WIP] Bad identifier suggestion in certain cases
2018-10-15 13:03:49 +02:00
chriseth 0664772ece Some renaming leftovers. 2018-10-15 12:51:50 +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
chriseth 656adcaeb7 Merge pull request #5149 from ethereum/fix_assertion_on_inval_tuple_call
Fixes invalid function calls to literals inside tuple assignment's LHS.
2018-10-15 11:24:47 +02:00
Christian Parpart 6d815a142f Fixes invalid function calls to literals inside tuple assignment's LHS. 2018-10-15 10:35:11 +02:00
mestorlx 1ce9566e50 Updated MAXIMUM_STRING_DISTANCE to non static maximumStringDistance taking into account length of the identifier 2018-10-13 09:54:07 -03:00
chriseth 7940dafd0d Also substitute variables in CSE. 2018-10-12 17:11:13 +02:00
chriseth 26dc876c28 Merge pull request #5127 from ethereum/exprUnbreaker
[Yul] Expression joiner.
2018-10-12 17:10:44 +02:00
chriseth 93cf718367 Merge pull request #5206 from ethereum/splitConstantsToo
[Yul] Split constants too
2018-10-12 17:01:54 +02:00
chriseth 94526b2d92 Merge pull request #5145 from ethereum/hashLinker
Hash linker
2018-10-12 15:53:45 +02:00
chriseth 1e06422589 Also split constants. 2018-10-12 15:20:06 +02:00
chriseth d60a2511fd Expression joiner. 2018-10-12 15:19:29 +02:00
chriseth 26c693aa92 Change library placeholder to __$<hash>$__. 2018-10-12 15:15:02 +02:00
chriseth 6daeb39ecc Use hash for library placeholders. 2018-10-12 15:15:01 +02:00
chriseth a937a449df Move unused pruner tests. 2018-10-11 18:41:26 +02:00
chriseth 463642996a Move expression simplifier tests. 2018-10-11 18:41:26 +02:00
chriseth 6dfd0adc0b Move rematerialiser tests. 2018-10-11 18:41:26 +02:00
chriseth 49958e4720 Move main function tests. 2018-10-11 18:41:26 +02:00
chriseth 9cd577abe9 Move tests for full inliner. 2018-10-11 18:41:26 +02:00
chriseth 83ab8e7f78 Move expression inliner tests. 2018-10-11 18:41:26 +02:00
chriseth 7a34fc1291 Move function hoister tests. 2018-10-11 18:41:26 +02:00
chriseth e021be4609 Move function grouper tests. 2018-10-11 18:41:26 +02:00
chriseth 424a77b48e Move expression splitter tests. 2018-10-11 18:41:26 +02:00
chriseth 33ac415f7f Move common subexpression eliminator tests. 2018-10-11 18:41:26 +02:00
chriseth a53d942da5 Remove old disambiguator test. 2018-10-11 16:59:57 +02:00
chriseth 6e32a1becb Disambiguator tests. 2018-10-11 16:59:57 +02:00
chriseth 4607118d2e Add Yul optimizer test framework. 2018-10-11 16:59:57 +02:00
chriseth 9da62384ee Combine test path discovery. 2018-10-11 15:01:43 +02:00