Commit Graph

13191 Commits

Author SHA1 Message Date
chriseth
d381e26fc8 Rename "enabled" optimizer setting stage to "standard". 2019-03-21 11:04:40 +01:00
chriseth
51ae865b96
Merge pull request #6222 from ethereum/internal-error-maybe
Disallow internal function types as parameters for public/external library function
2019-03-21 09:18:23 +01:00
chriseth
ebb8c1758e
Merge pull request #6339 from ethereum/lll-test-fix
Fix LLL tests using the opimiser
2019-03-21 08:54:07 +01:00
Mathias Baumann
4c2b1c1f29 ArrayType::interfaceType(): Rename local variable to make more sense 2019-03-21 07:25:59 +01:00
Mathias Baumann
7d809df91a Add back StructType::recursive() 2019-03-21 07:25:59 +01:00
Mathias Baumann
8e899a0d32 Disallow internal function types as parameters for public/external library function 2019-03-21 07:25:57 +01:00
Mathias Baumann
0fbea8a1a0 Change return type for interfaceType() to ResultType 2019-03-21 07:25:28 +01:00
Alex Beregszaszi
56f2912e61
Merge pull request #6333 from ethereum/proto-add-for-switch-stmts
Proto support for "for" and "switch" statements
2019-03-20 19:24:45 +00:00
Alex Beregszaszi
7ec3eaa40d Fix LLL tests using the opimiser 2019-03-20 19:21:24 +00:00
Bhargava Shastry
22f5a82edc yul proto: Add support for generating for and switch statements. 2019-03-20 18:50:27 +00:00
Alex Beregszaszi
e3c1dea97c
Merge pull request #6336 from ethereum/compilerstack-addsource
Removed unused isLibrary from flag addSource in CompilerStack
2019-03-20 18:12:16 +00:00
Alex Beregszaszi
ea1944bb2d Removed unused isLibrary from flag addSource in CompilerStack 2019-03-20 17:41:51 +00:00
chriseth
064f73be0c
Merge pull request #6249 from ethereum/optimizerTests
Change optimizer tests so that they also always test the peephole optimizer.
2019-03-20 18:38:06 +01:00
chriseth
9aab2329ed
Merge pull request #6244 from ethereum/smt_modifiers
[SMTChecker] Support modifiers
2019-03-20 18:04:28 +01:00
chriseth
6ac0ee1751
Merge pull request #5946 from bshastry/yul_opt_ossfuzz
Adds an oss-fuzz harness to fuzz AssemblyStack API calls for parsing …
2019-03-20 16:26:56 +01:00
chriseth
d788a88873 Use "none" and "full" optimizer settings in the optimizer tests. 2019-03-20 16:11:37 +01:00
chriseth
2fd6661b09 Add tests for some optimizer rules. 2019-03-20 16:10:59 +01:00
chriseth
54e00b930d
Merge pull request #6331 from ethereum/pragma-parser-location-reporting-fix
Fixes wrong source location when reporting pragma solidity version conflicts
2019-03-20 16:07:56 +01:00
chriseth
8468dca0bb
Merge pull request #6323 from ethereum/bug-637
Fix function calls with named arguments for overloaded functions
2019-03-20 16:07:09 +01:00
Bhargava Shastry
6c1d0b62b5 Adds oss-fuzz harnesses to fuzz AssemblyStack API calls for parsing/optimizing StrictAssembly and generating EVM bytecode. 2019-03-20 16:06:45 +01:00
chriseth
e3c3b9e542
Merge pull request #6276 from ethereum/properlyDetectRemovableVariables
Properly detect removable variables
2019-03-20 16:06:19 +01:00
chriseth
57f99247c8 Update tests. 2019-03-20 15:07:05 +01:00
chriseth
8514c0bc60 Provide max iterations for stack compressor as parameter. 2019-03-20 15:07:05 +01:00
chriseth
9ac117e5b9 Changelog entry. 2019-03-20 15:07:05 +01:00
chriseth
aa9a2935ac Properly determine whether a variable can be eliminated or not. 2019-03-20 15:07:05 +01:00
chriseth
38cbf8d230 Pass "optimize stack allocation" flag down to the stack compressor. 2019-03-20 15:03:27 +01:00
Mathias Baumann
84b68006ba Fix function calls with named arguments for overloaded functions 2019-03-20 14:54:41 +01:00
Christian Parpart
bb28c8a877 Fixes wrong source location when reporting pragma solidity version conflicts. 2019-03-20 11:42:25 +01:00
Leonardo Alt
9659f40c8d [SMTChecker] Support modifiers 2019-03-20 11:32:20 +01:00
chriseth
556d11dae0
Merge pull request #6310 from ethereum/smt_callstack_model
[SMTChecker] Add callstack to model report
2019-03-20 10:51:49 +01:00
chriseth
93027c40b6
Merge pull request #6322 from ethereum/asm-datasize-exception-fix
Improve exception information in Yul function datasize(name) and dataoffset(name).
2019-03-20 10:50:49 +01:00
Leonardo Alt
3296fb3764 Add callstack to model report 2019-03-20 10:35:29 +01:00
chriseth
b021f015f9
Merge pull request #6321 from ethereum/metadata-cbor-encoder
Introduce simplfied CBOR encoding for Metadata
2019-03-20 10:10:16 +01:00
chriseth
4d89fc1644
Merge pull request #6320 from ethereum/callvalue_nonpayable
Inline Assembly: Issue error for callvalue in nonpayable function
2019-03-20 10:07:09 +01:00
chriseth
1e970ccc5b
Merge pull request #6324 from ethereum/useABICheck
Use ABI_CHECK for event data comparison.
2019-03-20 10:05:02 +01:00
Alex Beregszaszi
5245a66d91
Merge pull request #6318 from ethereum/signal-failure-and-such
Allow simplification patterns to signal failure
2019-03-20 03:38:51 +00:00
Leonardo Alt
0386d39942 Add test with internal function 2019-03-19 20:45:27 +01:00
Leonardo Alt
9acec99c31 Issue error for callvalue in nonpayable function 2019-03-19 20:45:27 +01:00
chriseth
11198cd76a
Merge pull request #6326 from ethereum/moveAppendSet
Add operator for move-append onto set.
2019-03-19 19:44:25 +01:00
chriseth
7da5e9575b
Merge pull request #6325 from ethereum/alsoOutputOptimized
Also output optimized yul code if requested.
2019-03-19 17:51:42 +01:00
chriseth
b82b970429 Add operator for move-append onto set. 2019-03-19 17:50:50 +01:00
chriseth
cf0fdfb175
Merge pull request #6319 from ethereum/operators_namespace
[RFC] Move CommonData operator functions to the global namespace
2019-03-19 17:41:08 +01:00
chriseth
7c524f794f Also output optimized yul code if requested. 2019-03-19 17:24:36 +01:00
chriseth
87ebb16890 Use ABI_CHECK for event data comparison. 2019-03-19 17:23:50 +01:00
Christian Parpart
7f7f44dd63 Improve exception information in Yul function datasize(name) and dataoffset(name).
Makes sure we properly throw a detailed exception instead of an out_of_range from std::map.
2019-03-19 17:17:32 +01:00
Alex Beregszaszi
7babe3dbba Introduce simplfied CBOR encoding for Metadata 2019-03-19 16:06:19 +00:00
chriseth
164a51eeae
Merge pull request #6313 from ethereum/yul-for-continue-tests-prerequisites
[Yul] Refactors RedundantAssignEliminator for future changes wrt. break/continue stmts.
2019-03-19 17:03:17 +01:00
Mathias Baumann
6b60e90cde Fix commented debug output code 2019-03-19 16:15:05 +01:00
Leonardo Alt
15a5b2bf65 Move CommonData operator functions to the global namespace 2019-03-19 16:06:23 +01:00
Alex Beregszaszi
f95388011b Allow simplification patterns to signal failure 2019-03-19 15:51:52 +01:00