mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Provide commandline option to activate yul optimizer.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
--gas
|
||||
@@ -0,0 +1,3 @@
|
||||
gas_test_abiv2/input.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
|
||||
pragma experimental ABIEncoderV2;
|
||||
^-------------------------------^
|
||||
@@ -0,0 +1,15 @@
|
||||
pragma solidity >=0.0;
|
||||
pragma experimental ABIEncoderV2;
|
||||
|
||||
contract C {
|
||||
uint public a;
|
||||
uint[] public b;
|
||||
function f1(uint) public pure returns (uint) { }
|
||||
function f2(uint[] memory, string[] memory, uint16, address) public returns (uint[] memory, uint16[] memory) {}
|
||||
function f3(uint16[] memory, string[] memory, uint16, address) public returns (uint[] memory, uint16[] memory) {}
|
||||
function f4(uint32[] memory, string[12] memory, bytes[2][] memory, address) public returns (uint[] memory, uint16[] memory) {}
|
||||
function f5(address[] memory, string[] memory, bytes memory, address) public returns (uint[] memory, uint16[] memory) {}
|
||||
function f6(uint[30] memory, string[] memory, uint16, address) public returns (uint16[200] memory, uint16[] memory) {}
|
||||
function f7(uint[31] memory, string[20] memory, C, address) public returns (bytes[] memory, uint16[] memory) {}
|
||||
function f8(uint[32] memory, string[] memory, uint32, address) public returns (uint[] memory, uint16[] memory) {}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
|
||||
======= gas_test_abiv2/input.sol:C =======
|
||||
Gas estimation:
|
||||
construction:
|
||||
1154 + 1109000 = 1110154
|
||||
external:
|
||||
a(): 535
|
||||
b(uint256): 1129
|
||||
f1(uint256): 591
|
||||
f2(uint256[],string[],uint16,address): infinite
|
||||
f3(uint16[],string[],uint16,address): infinite
|
||||
f4(uint32[],string[12],bytes[2][],address): infinite
|
||||
f5(address[],string[],bytes,address): infinite
|
||||
f6(uint256[30],string[],uint16,address): infinite
|
||||
f7(uint256[31],string[20],address,address): infinite
|
||||
f8(uint256[32],string[],uint32,address): infinite
|
||||
@@ -0,0 +1 @@
|
||||
--gas --optimize --optimize-yul
|
||||
@@ -0,0 +1,3 @@
|
||||
gas_test_abiv2_optimize_yul/input.sol:2:1: Warning: Experimental features are turned on. Do not use experimental features on live deployments.
|
||||
pragma experimental ABIEncoderV2;
|
||||
^-------------------------------^
|
||||
@@ -0,0 +1,15 @@
|
||||
pragma solidity >=0.0;
|
||||
pragma experimental ABIEncoderV2;
|
||||
|
||||
contract C {
|
||||
uint public a;
|
||||
uint[] public b;
|
||||
function f1(uint) public pure returns (uint) { }
|
||||
function f2(uint[] memory, string[] memory, uint16, address) public returns (uint[] memory, uint16[] memory) {}
|
||||
function f3(uint16[] memory, string[] memory, uint16, address) public returns (uint[] memory, uint16[] memory) {}
|
||||
function f4(uint32[] memory, string[12] memory, bytes[2][] memory, address) public returns (uint[] memory, uint16[] memory) {}
|
||||
function f5(address[] memory, string[] memory, bytes memory, address) public returns (uint[] memory, uint16[] memory) {}
|
||||
function f6(uint[30] memory, string[] memory, uint16, address) public returns (uint16[200] memory, uint16[] memory) {}
|
||||
function f7(uint[31] memory, string[20] memory, C, address) public returns (bytes[] memory, uint16[] memory) {}
|
||||
function f8(uint[32] memory, string[] memory, uint32, address) public returns (uint[] memory, uint16[] memory) {}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
|
||||
======= gas_test_abiv2_optimize_yul/input.sol:C =======
|
||||
Gas estimation:
|
||||
construction:
|
||||
676 + 641600 = 642276
|
||||
external:
|
||||
a(): 434
|
||||
b(uint256): 892
|
||||
f1(uint256): 356
|
||||
f2(uint256[],string[],uint16,address): infinite
|
||||
f3(uint16[],string[],uint16,address): infinite
|
||||
f4(uint32[],string[12],bytes[2][],address): infinite
|
||||
f5(address[],string[],bytes,address): infinite
|
||||
f6(uint256[30],string[],uint16,address): infinite
|
||||
f7(uint256[31],string[20],address,address): infinite
|
||||
f8(uint256[32],string[],uint32,address): infinite
|
||||
Reference in New Issue
Block a user