4493 Commits
Author SHA1 Message Date
chriseth af65bac737 Remove trailing whitespace. 2018-11-12 09:15:22 +01:00
Kristofer Peterson f927da9182 Refactor of bool TypeChecker::visit(FunctionCall const& _functionCall).
Visit method now cleanly determines if node represents a function call,
struct construction or type conversion. Type checking, validation and
error message logic is moved to separate methods.
2018-11-09 16:35:54 +00: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 6bbedab383 Merge pull request #5265 from ethereum/cleanupsha3
Simplify sha3.
2018-11-09 15:39:57 +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 b801e61611 Merge pull request #5365 from ethereum/improveNameDispenser
[Yul] Use single counter for name dispenser for performance reasons.
2018-11-08 12:24:21 +01:00
chriseth bf5b36a1ed Merge pull request #5366 from ethereum/addVarDecl
[Yul] Add VarDeclPropagator to full suite and interactive optimizer.
2018-11-08 12:21:45 +01:00
chriseth 84e8a782d6 Merge pull request #5351 from ethereum/functionTypeConversion
Relax type equality requirement of function types during conversion in code generation.
2018-11-08 11:29:55 +01:00
chriseth cc2de07bc6 Merge pull request #5348 from ethereum/boostRationalNegativeDenominatorFix
Fix negative denominator in ``boost::rational`` during exponentiation.
2018-11-08 11:25:30 +01:00
Daniel Kirchner b16a3644fe Function type conversion test cases. 2018-11-08 10:51:51 +01:00
chriseth 37766ee8e4 Add VarDeclPropagator to full suite and interactive optimizer. 2018-11-07 23:19:42 +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 bed0368ffa Merge pull request #5327 from ethereum/rematerializerSmall
Add rematerializer to interactive optimizer.
2018-11-07 20:30:31 +01:00
chriseth 674e17c2a8 Performance: Replace string by special single-copy YulString class. 2018-11-07 19:30:27 +01:00
Christian Parpart ab0de38f16 Eliminate byte-typedef and use uint8_t in all their places instead.
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 :-)
2018-11-07 12:17:57 +01:00
Daniel Kirchner e036133d1b Fix negative denominator in `boost::rational` during exponentiation. 2018-11-06 10:52:10 +01:00
Daniel Kirchner 36903d7e27 Remove uses of boost::rational with negative denominator, which breaks with boost 1.68. 2018-11-05 21:36:52 +01:00
Erik Kundt 1d8e9af407 Fixes crash while encoding too large arrays. 2018-10-30 15:14:57 +01:00
chriseth 0e9127a7c8 Add rematerializer to interactive optimizer. 2018-10-28 13:27:21 +01:00
Christian Parpart f08ab77249 Yul: Implements empty-var-decl-propagation 2018-10-26 13:13:57 +02:00
chriseth 3473326fc4 Merge pull request #5273 from ethereum/interactiveOpt
[Yul] Interactive optimizer tool
2018-10-25 13:55:08 +02:00
chriseth c36a3bd683 Merge pull request #5283 from ethereum/smt_fixed_bytes
[SMTChecker] Support FixedBytes
2018-10-25 13:01:01 +02:00
chriseth f714b0dd7c Merge pull request #5242 from ethereum/someChecks
Some well-formedness checks for the Yul AST.
2018-10-25 12:44:28 +02:00
chriseth 4076875927 Merge pull request #5271 from ethereum/fullSuite
[Yul] Full suite tests.
2018-10-25 12:44:10 +02:00
chriseth d335539891 Merge pull request #5296 from ethereum/setPragmaToArbitrary
Set pragma to arbitrary
2018-10-25 12:42:15 +02:00
Leonardo Alt d8cbf321da Grouping of symbolic variables in the same file and support to FixedBytes 2018-10-25 09:30:48 +02:00
chriseth 60f1d52f59 Full suite tests. 2018-10-24 18:02:08 +02:00
chriseth f92623063d Add redundant assign and ssa. 2018-10-24 17:54:35 +02:00
chriseth 57843f790c Interactive optimizer tool. 2018-10-24 17:52:28 +02:00
chriseth 1424beda79 Remove pragma changer. 2018-10-24 14:52:55 +02:00
chriseth 9e6356a763 Set pragma to arbitrary. 2018-10-24 14:52:55 +02:00
chriseth eded236e67 Only run zeppelin as external tests. 2018-10-24 14:52:55 +02:00
chriseth 01566c2e1a Merge pull request #5272 from ethereum/smt_special_vars
[SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhash
2018-10-24 14:34:17 +02:00
chriseth a9a414bd0f Added some tests. 2018-10-24 14:29:33 +02:00
chriseth b3911798b3 Redundant assign eliminator. 2018-10-24 13:24:25 +02:00
Leonardo Alt e2cf5f6ed9 Add gasleft constraint and use full member access name 2018-10-22 18:19:11 +02:00
Christian Parpart f112377dd4 Refactor solidity::Token into an enum class with TokenTraits helper namespace 2018-10-22 17:00:51 +02:00
Leonardo Alt b46b827c30 [SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhash 2018-10-19 15:52:16 +02:00
chriseth c13b5280c1 Merge pull request #5256 from ethereum/lvalueCleanup
Lvalue cleanup
2018-10-19 11:20:12 +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 4987c12ac3 Merge pull request #5213 from Mordax/issue-5103
Tests for flipping signs on signed type edge case
2018-10-18 19:02:35 +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