Commit Graph
336 Commits
Author SHA1 Message Date
chriseth af65bac737 Remove trailing whitespace. 2018-11-12 09:15:22 +01:00
chriseth 9709dfe046 Merge pull request #5128 from ethereum/breakUnbreak
[Yul] Test case that shows that break / unbreak are more or less inverse
2018-11-09 16:07:20 +01:00
chriseth 0f2ba3522f Reset yul string repository. 2018-11-09 15:40:36 +01:00
chriseth 5ea514213a Test case that shows that break/unbreak are more or less inverse. 2018-11-09 15:36:52 +01:00
chriseth fa44d20721 Remove side-effect-free statements. 2018-11-08 18:14:36 +01:00
chriseth cd11f7cfac Merge pull request #5325 from ethereum/fixDataFlow
[Yul] Fix data flow analyzer for function definitions.
2018-11-08 12:52:51 +01:00
chriseth 845899e305 Use single counter for name dispenser for performance reasons. 2018-11-07 23:09:33 +01:00
chriseth b2b11eaa00 Fix data flow analyzer for function definitions. 2018-11-07 20:32:55 +01:00
chriseth 674e17c2a8 Performance: Replace string by special single-copy YulString class. 2018-11-07 19:30:27 +01:00
Christian Parpart f08ab77249 Yul: Implements empty-var-decl-propagation 2018-10-26 13:13:57 +02:00
chriseth 60f1d52f59 Full suite tests. 2018-10-24 18:02:08 +02:00
chriseth b3911798b3 Redundant assign eliminator. 2018-10-24 13:24:25 +02:00
chriseth c676b009e1 Merge pull request #5267 from ethereum/ssatransform
SSA transform - first step.
2018-10-19 11:10:08 +02:00
chriseth 5c274a9251 Merge pull request #5260 from ethereum/flattenMore
Flatten more.
2018-10-19 11:08:46 +02:00
chriseth 0ebe572f7d Merge pull request #5258 from ethereum/coverage2
Add some simplification tests for operations.
2018-10-19 11:04:56 +02:00
chriseth 7dffb0f3ee Merge pull request #5270 from ethereum/inlineFlexible
Make full inliner more flexible.
2018-10-18 19:02:04 +02:00
chriseth 465845b7a7 SSA transform - first step. 2018-10-18 18:56:22 +02:00
chriseth b2725aa913 Make full inliner more flexible. 2018-10-18 14:57:09 +02:00
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 e8a2d57075 Flatten more. 2018-10-18 00:58:15 +02:00
chriseth bda154440c Add some simplification tests for operations. 2018-10-18 00:10:39 +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
Christian Parpart 04612936c2 Yul: Introduces a block flattening pass + tests 2018-10-15 18:21:34 +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