Commit Graph

11676 Commits

Author SHA1 Message Date
Christian Parpart
1264290d57 [Yul] ExpressionJoiner: code cleanup
* 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)
2018-10-26 13:53:37 +02:00
chriseth
41375b5d79
Merge pull request #5122 from ethereum/docs-contributing-pt3
Final contribution review in fuzzer section
2018-10-25 18:41:52 +02:00
chriseth
1b02bfdb4a
Merge pull request #5311 from ethereum/chriseth-patch-3
Clarify import.
2018-10-25 18:41:44 +02:00
Chris Ward
feff3fe3e9 Final contribution review in fuzzer section 2018-10-25 18:40:40 +02:00
chriseth
525fa5109d
Clarify import. 2018-10-25 18:28:24 +02:00
chriseth
6e3456d182
Merge pull request #5304 from ethereum/removeASTutils
Remove unused AST utils.
2018-10-25 17:27:03 +02:00
chriseth
39687cf110 Remove unused AST utils. 2018-10-25 14:02:09 +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
8d01db7c2d
Merge pull request #5292 from ethereum/redundantAssignEliminator
[Yul] Redundant assign eliminator.
2018-10-24 14:29:59 +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
chriseth
f5f977eaf5
Merge pull request #5288 from ethereum/docs-external-call-tx-faq
DOCS: Move FAQ item regarding contract to contract calls and tx
2018-10-23 15:16:38 +02:00
Chris Ward
0d4bdfbbb0 Move FAQ item regarding contract to contract calls and resulting transaction 2018-10-23 13:30:58 +02:00
Christian Parpart
a2f5087d13
Merge pull request #5286 from ethereum/refactor-token-as-enum-class
refactor `libsolidity::Token` into a strongly typed enum
2018-10-23 01:50:15 +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
chriseth
19be6cd818 Some well-formedness checks for the Yul AST. 2018-10-22 15:52:26 +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
fed7a7d61a
Merge pull request #5257 from ethereum/assertAboutRemoved
Assert about some removed language concepts in the code generator.
2018-10-19 11:04:29 +02:00
chriseth
99dc869eb9
Merge pull request #5259 from ethereum/cleanup8
Cleanup in some base utils
2018-10-18 19:16:31 +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
52ffe5262e
Merge pull request #5269 from ethereum/cseBugfix
Bugfix in common subexpression eliminator related to scopes.
2018-10-18 18:58:46 +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
0690aae09d Remove mostly unused writeFile implementation. 2018-10-18 12:50:06 +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
c578b21e7c
Merge pull request #5251 from ethereum/smt_refactor_expr_types
[SMTChecker] Refactor expressions to use SymbolicVariable
2018-10-17 22:54:00 +02:00
chriseth
97d01d9b47 Assert about some removed language concepts in the code generator. 2018-10-17 22:26:40 +02:00
chriseth
c14dfeb8c5 Removed unreachable cases in LValue.cpp. 2018-10-17 22:17:33 +02:00