Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove variables that go out of scope from data structure. | chriseth | 2018-11-13 | 2 | -10/+29 |
| | |||||
* | Use map join algorithm for performance. | chriseth | 2018-11-13 | 2 | -10/+35 |
| | |||||
* | Remove side-effect-free statements. | chriseth | 2018-11-09 | 3 | -4/+14 |
| | |||||
* | Merge pull request #5325 from ethereum/fixDataFlow | chriseth | 2018-11-08 | 1 | -0/+13 |
|\ | | | | | [Yul] Fix data flow analyzer for function definitions. | ||||
| * | Fix data flow analyzer for function definitions. | chriseth | 2018-11-08 | 1 | -0/+13 |
| | | |||||
* | | Merge pull request #5365 from ethereum/improveNameDispenser | chriseth | 2018-11-08 | 2 | -3/+3 |
|\ \ | | | | | | | [Yul] Use single counter for name dispenser for performance reasons. | ||||
| * | | Use single counter for name dispenser for performance reasons. | chriseth | 2018-11-08 | 2 | -3/+3 |
| |/ | |||||
* / | Add VarDeclPropagator to full suite and interactive optimizer. | chriseth | 2018-11-08 | 1 | -0/+7 |
|/ | |||||
* | Performance: Replace string by special single-copy YulString class. | chriseth | 2018-11-08 | 43 | -168/+167 |
| | |||||
* | Eliminate `byte`-typedef and use `uint8_t` in all their places instead. | Christian Parpart | 2018-11-07 | 1 | -3/+3 |
| | | | | | | | | | | | This change is made to (easily) be forward compatible with future C++ standards, in order to allow compiling the code with newer standards at some point in the future. * Removed the `using byte = uint8_t;` line from Common.h * Mechanically change all uses of `byte` to `uint8_t`. Tested with GCC 7.3 in C++11/14/17 modes :-) | ||||
* | Merge pull request #5247 from ethereum/yul-vardecl-propagation | chriseth | 2018-10-29 | 2 | -0/+192 |
|\ | | | | | Yul: Implements empty-var-decl-propagation | ||||
| * | Yul: Implements empty-var-decl-propagation | Christian Parpart | 2018-10-26 | 2 | -0/+192 |
| | | |||||
* | | [Yul] ExpressionJoiner: code cleanup | Christian Parpart | 2018-10-26 | 2 | -36/+20 |
|/ | | | | | | | | | * ensure public API is only containing `run(Block&)`, all the rest is private API / implementation details * adding some comments to class data members to quicker understand their meaning * eliminate unnecessary `operator()(If&)` as it's not changing default behaviour of `ASTModifier` * simplify readability of `visit(Expression&)`'s impl, also moving assert's into "isLatestStatementVarDeclOf", as this one is already ensuring exactly that. * ctor impl's use of ReferenceCounter use shortened. * renamed and improved `isLatestStatementVarDeclOf` to better match its meaning (especially since it's only used once) | ||||
* | Merge pull request #5242 from ethereum/someChecks | chriseth | 2018-10-25 | 1 | -0/+1 |
|\ | | | | | Some well-formedness checks for the Yul AST. | ||||
| * | Some well-formedness checks for the Yul AST. | chriseth | 2018-10-22 | 1 | -0/+1 |
| | | |||||
* | | Full suite tests. | chriseth | 2018-10-25 | 2 | -0/+168 |
| | | |||||
* | | Redundant assign eliminator. | chriseth | 2018-10-24 | 2 | -0/+378 |
|/ | |||||
* | Merge pull request #5267 from ethereum/ssatransform | chriseth | 2018-10-19 | 2 | -0/+228 |
|\ | | | | | SSA transform - first step. | ||||
| * | SSA transform - first step. | chriseth | 2018-10-19 | 2 | -0/+228 |
| | | |||||
* | | Merge pull request #5270 from ethereum/inlineFlexible | chriseth | 2018-10-19 | 2 | -12/+11 |
|\ \ | | | | | | | Make full inliner more flexible. | ||||
| * | | Make full inliner more flexible. | chriseth | 2018-10-18 | 2 | -12/+11 |
| |/ | |||||
* / | Fix a bug in CSE where a variable that was already out of scope was used. | chriseth | 2018-10-18 | 4 | -23/+34 |
|/ | |||||
* | Merge pull request #5240 from ethereum/limitDispenserSize | chriseth | 2018-10-18 | 5 | -19/+57 |
|\ | | | | | [Yul] Limit name length created by dispenser | ||||
| * | Limit size of generated names and add convenience constructors. | chriseth | 2018-10-17 | 5 | -19/+57 |
| | | |||||
* | | Merge pull request #5232 from ethereum/inlineHeuristic | chriseth | 2018-10-17 | 4 | -8/+73 |
|\ \ | |/ |/| | [Yul] Add simple inlining heuristic | ||||
| * | Use metrics in the full inliner. | chriseth | 2018-10-17 | 4 | -8/+73 |
| | | |||||
* | | Handle externally supplied variables correctly in disambiguator. | chriseth | 2018-10-17 | 2 | -3/+12 |
| | | |||||
* | | Prevent externally used functions from being removed. | chriseth | 2018-10-17 | 2 | -5/+7 |
|/ | |||||
* | Inline each function separately. | chriseth | 2018-10-16 | 2 | -28/+13 |
| | |||||
* | New full inliner. | chriseth | 2018-10-16 | 2 | -197/+102 |
| | |||||
* | New simplifier via broken expressions. | chriseth | 2018-10-16 | 4 | -15/+73 |
| | |||||
* | SSA value tracker. | chriseth | 2018-10-16 | 2 | -0/+111 |
| | |||||
* | Yul: Introduces a block flattening pass + tests | Christian Parpart | 2018-10-16 | 2 | -0/+75 |
| | |||||
* | Some renaming leftovers. | chriseth | 2018-10-15 | 2 | -3/+3 |
| | |||||
* | Renaming namespace dev::julia to dev::yul. | Christian Parpart | 2018-10-15 | 48 | -49/+49 |
| | |||||
* | Renaming libjulia to libyul | Christian Parpart | 2018-10-15 | 49 | -0/+4196 |